linux配置mysql
上一级页面:mysql安装配置-linux
前言
linux安装好mysql后,需要进行初始化和配置
查看mysql的默认安装路径在/usr/share/mysql
1 | whereis mysql |
可以看到,使用deb文件安装,其安装目录在/usr/share/mysql
1 | ll /usr/share/mysql |
1 | whereis mysql57 |
可以看到手动安装,其安装目录在/usr/local/mysql57
添加安全保护
切换root用户
1 | sudo -s |
前往安装目录
1 | cd /usr/local/mysql57 |
在生产中使用 MySQL 5.7 之前,您应该首先保护它。 您可以通过运行以下命令来做到这一点:
1 | bin/mysql_secure_installation --socket=/tmp/mysql57.sock --defaults-file=/usr/local/mysql57/my.cnf --user=mysql |
如果是mysql8.x,命令类似上面,更改一下默认配置文件路径
输入您的 MySQL 根密码并回答所有安全问题。
确认密码安全政策
1 | SHOW VARIABLES LIKE 'validate_password%'; |
部署自动支持安全连接的服务器mysql_ssl_rsa_setup
如果要部署自动支持安全连接的服务器,请使用mysql_ssl_rsa_setup实用程序创建默认 SSL 和 RSA 文件:
切换到 root用户
1 | sudo -s |
前往安装目录
1 | cd /usr/local/mysql57 |
1 | bin/mysql_ssl_rsa_setup --socket=/tmp/mysql57.sock --defaults-file=/usr/local/mysql57/my.cnf --user=mysql |
修改密码
由于默认安装的MySQL没有password
字段,密码存储在authentication_string
字段中,不过password()
方法还能用。
切换到 root用户
1 | sudo -s |
在MySQL中逐行
执行下面语句修改密码
1:进入MySQL:
1 | /usr/local/mysql80/bin/mysql --socket=/tmp/mysql80.sock -uroot -p |
2: 输入以下命令设置密码:
1 | 切换到mysql数据库 |
查看修改结果
1 | select host, user, authentication_string, plugin from user; |
设置远程连接
见如何在MySQL 8.0中向root用户授予所有权限 - 堆栈溢出 (stackoverflow.com)
1:输入以下命令
PASSWORD 修改为你的密码
1 | 切换到mysql数据库 |
查看修改结果
1 | SELECT User,Host FROM mysql.user; |
要更改远程登录用户的密码,执行下面的命令
1 | 切换到mysql数据库 |
登录后确定basedir和datadir
datadir默认路径:
-
windows在
C:\ProgramData\MySQL\MySQL Server 5.6\data
(注意:ProgramData文件夹是隐藏的,需要先显示出来) -
linux在
/var/lib/mysql
(这个是自己初始化mysqld --initialize
的时候指定的)
2.在mysql工具中使用命令: 确定data目录在哪里(MySQL的数据存放路径)
1 | show global variables like "%datadir%"; |
同理还能确定basedir
1 | show global variables like "%basedir%"; |
设置文件导出路径
MySQL :: MySQL 5.7 参考手册 :: 5.1.7 服务器系统变量
来到mysql安装目录下
1 | cd /usr/local/mysql57 |
1 | mkdir mysql-files |
Navicat远程连接验证
如提示不能成功连接,可能需要添加需要监听的端口
1 | /usr/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT |
注意:常用命令
–退出mysql命令窗口
1 | exit |
–查看mysql状态
1 | service mysql status |
–停止mysql
1 | service mysql stop |
–启动mysql
1 | service mysql start |