MySQL入门

时间秒杀一切 提交于 2020-01-18 19:31:35

一 安装、mysql官方文档下载tar.gz包

在这里插入图片描述
解压至/use/local下面软连接成mysql

oldguo 10:15:53
5.1 解压处理
[root@db01 local]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
[root@db01 local]# ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql

5.2 建数据目录
[root@db01 local]# mkdir -p /data/mysql/data
[root@db01 local]# mkdir -p /data/mysql/binlog

5.3 建用户 
[root@db01 local]# userdel -r mysql
[root@db01 local]# useradd -s /sbin/nologin mysql

oldguo 10:17:23
5.4 处理遗留的mariadb
[root@db01 local]# yum remove mariadb*

oldguo 10:18:14
5.5 授权
[root@db01 local]# chown -R mysql.mysql /data /usr/local/mysql*

oldguo 10:19:30
export PATH=/usr/local/mysql/bin:$PATH

oldguo 10:21:46
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

oldguo 10:22:14
libaio错误
处理  : yum install -y libaio-devel

5.4 处理遗留的mariadb
[root@db01 local]# yum remove mariadb*
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock




oldguo 10:29:59
5.8 准备启动脚本

[root@db01 ~]# cd /usr/local/mysql/support-files/
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
[root@db01 support-files]# chkconfig --add mysqld

oldguo 10:30:39
[root@db01 support-files]# systemctl start mysqld
[root@db01 support-files]# systemctl stop mysqld
[root@db01 support-files]# systemctl restart mysqld
[root@db01 support-files]# mysql

oldguo 10:31:54
[root@db01 ~]# mysqladmin -uroot -p password 123


用户管理

6.1.3 用户的管理操作
#查看
mysql> select user,host ,authentication_string from mysql.user;

# 创建
mysql> create user oldguo@'10.0.0.%' identified by '123';

# 修改

mysql> alter user  oldguo@'10.0.0.%' identified by '123';

# 删除
mysql> drop user oldguo@'10.0.0.%';

# 忘记root管理员密码
[root@db01 data]# /etc/init.d/mysqld stop
[root@db01 data]# mysqld_safe --skip-grant-tables --skip-networking &
[root@db01 data]# mysql 
mysql> flush privileges;
mysql> alter user root@'localhost' identified by '123';
[root@db01 data]# /etc/init.d/mysqld restart

查看用户及密码
在这里插入图片描述
创建用户及密码
在这里插入图片描述
修改密码
在这里插入图片描述
删除用户
在这里插入图片描述
忘记root密码
在这里插入图片描述
权限管理
在这里插入图片描述
查看权限列表
在这里插入图片描述
查看当前登录用户权限
在这里插入图片描述
查看指定用户权限
在这里插入图片描述
授权管理
在这里插入图片描述
回收权限(delete)
在这里插入图片描述
不能删除用户,删除用户业务立马会断掉

八、配置文件

文件位置

[root@db02 support-files]# mysqld --help -verbose |grep my.cnf

在这里插入图片描述
在这里插入图片描述

配置文件详解

在这里插入图片描述

九、启动关闭

[root@db02 support-files]# /etc/init.d/mysqld start
Starting MySQL SUCCESS! 
[root@db02 support-files]# 2020-01-18T07:34:18.696652Z mysqld_safe A mysqld process already exists

mysql连接管理

连接|进入数据库
socket文件链接:(本地socket连接,必须实现创建好localhost类型用户)
ip+port连接
在这里插入图片描述
查看线程
在这里插入图片描述

多实例

[root@db02 support-files]# mkdir -p /data/330{7..9}/data
[root@db02 support-files]# chown -R mysql.mysql /data
[root@db02 support-files]# cat >/data/3309/my.cnf <<EOF
> [mysql]                    
> socket=/tmp/mysql3309.sock     
> [mysqld]                   
> user=mysql                 
> basedir=/usr/local/mysql   
> datadir=/data/3309/data   
> socket=/tmp/mysql3309.sock     
> port=3309   
> server_id=9             
> EOF
[root@db02 support-files]# cat >/data/3308/my.cnf <<EOF
> [mysql]                    
> socket=/tmp/mysql3308.sock     
> [mysqld]                   
> user=mysql                 
> basedir=/usr/local/mysql   
> datadir=/data/3308/data   
> socket=/tmp/mysql3308.sock     
> port=3308   
> server_id=8              
> EOF
[root@db02 support-files]# cat >/data/3307/my.cnf <<EOF
> [mysql]                    
> socket=/tmp/mysql3307.sock     
> [mysqld]                   
> user=mysql                 
> basedir=/usr/local/mysql   
> datadir=/data/3307/data   
> socket=/tmp/mysql3307.sock     
> port=3307   
> server_id=7              
> EOF

初始化数据

6.6.3 初始化数据 
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/data
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3309/data

启动脚本

[root@db02 support-files]# cat >/etc/systemd/system/mysqld3309.service<<EOF
> [Unit]
> Description=MySQL Server
> Documentation=man:mysqld(8)
> Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
> After=network.target
> After=syslog.target
> [Install]
> WantedBy=multi-user.target
> [Service]
> User=mysql
> Group=mysql
> ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
> LimitNOFILE = 5000
> EOF
[root@db02 support-files]# cat >/etc/systemd/system/mysqld3308.service<<EOF
> [Unit]
> Description=MySQL Server
> Documentation=man:mysqld(8)
> Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
> After=network.target
> After=syslog.target
> [Install]
> WantedBy=multi-user.target
> [Service]
> User=mysql
> Group=mysql
> ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
> LimitNOFILE = 5000
> EOF
[root@db02 support-files]# cat >/etc/systemd/system/mysqld3307.service<<EOF
> [Unit]
> Description=MySQL Server
> Documentation=man:mysqld(8)
> Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
> After=network.target
> After=syslog.target
> [Install]
> WantedBy=multi-user.target
> [Service]
> User=mysql
> Group=mysql
> ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
> LimitNOFILE = 5000
> EOF

连接登录
在这里插入图片描述
6.6.5 启动多实例
[root@db01 ~]# systemctl start mysqld3307
[root@db01 ~]# systemctl start mysqld3308
[root@db01 ~]# systemctl start mysqld3309

6.6.6 验证
[root@db01 ~]# netstat -tulnp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!