ubuntu18.04安装mysql
1.更新、安装mysql
sudo apt-get update
sudo apt install mysql-server-5.7
2.查看mysql版本
mysql -V
3.查看状态
systemctl status mysql
4.查看默认账号和密码
sudo cat /etc/mysql/debian.cnf
可以用默认的账号密码登录后,修改root用户密码并赋予权限。也可以通过下面方式设置root。
5.设置root账号密码
sudo mysql_secure_installation
6.修改root账号为密码认证方式
sudo mysql -uroot -p
mysql> select user, plugin from mysql.user;
mysql> update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit
7.配置root远程访问模式
修改配置文件,注释掉bind-address = 127.0.0.1
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
给root赋予远程访问权限
mysql -uroot -p
mysql> grant all ON *.* to root@'%' identified by '123456' with grant option;
mysql> flush privileges;
mysql> exit
8.修改数据目录
关闭服务
service mysql stop
创建新数据目录
mkdir /home/lcfc/qxmz/mysql
该命令是提高用户权限,会变成root权限。没有sudo -i ,下面cp命令执行不了,权限不够
sudo -i
将原数据目录下内容,拷贝到新目录下
sudo cp -R /var/lib/mysql/* /home/lcfc/qxmz/mysql
切回原来账号。正常操作还是要在原来自己账户下进行。
exit
新数据目录授予权限
sudo chown -R mysql:mysql /home/lcfc/qxmz/mysql
修改配置文件,将datadir=/var/lib/mysql替换自己的目录。我这里是datadir=/home/lcfc/qxmz/mysql。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改apparmor的配置文件use.sbin.mysqld(Ubuntu需要修改,CentOS不需要)
sudo vim /etc/apparmor/usr.sbin.mysqld
将
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
修改为
/home/lcfc/qxmz/mysql/ r,
/home/lcfc/qxmz/mysql/** rwk,
重启MySQL
sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysql restart
最后贴一份完整的配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf)