安装MySQL步骤
更新到最新版本
sudo apt update
安装mysql-server
sudo apt-get install mysql-server
MySQL相关命令
启动MySQL
sudo systemctl start mysql
检查MySQL状态
sudo systemctl status mysql
停止MySQL服务
sudo systemctl stop mysql
重启MySQL
sudo service mysql restart
设置MySQL开机自启动
sudo systemctl enable mysql
新建数据库保存目录
sudo mkdir /mnt/disk2/mysql
操作MySQL相关命令
登陆MySQL
sudo mysql -u root #无密码登录
或者
sudo mysql -u root -p #有密码登录
检查数据库路径
SHOW VARIABLES LIKE 'datadir';
为root用户设置密码
如果是全新安装的 MySQL,可能不需要密码即可使用 sudo 登录
sudo mysql
如果已经为 root 用户设置了密码,使用以下命令:
mysql -u root -p
切换到 MySQL 数据库:
USE mysql;
在 MySQL 5.7 及更高版本
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
较低版本的 MySQL
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
刷新权限表
FLUSH PRIVILEGES;
设置密码之后如果root用户依然可以通过mysql -u root命令无密码登陆,我们可以检查是否由 auth_socket 插件导致的
mysql -u root USE mysql; SELECT user, host, plugin FROM user WHERE user = 'root';
输出中,如果 plugin 列显示的是 auth_socket,说明 root 用户通过 auth_socket 插件进行身份验证,不需要密码。
这时候为了安全,我们需要将身份验证插件改为 mysql_native_password 或 caching_sha2_password。执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '你的密码';
或者
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '你的密码';
重新刷新权限
FLUSH PRIVILEGES;
退出登陆数据库
EXIT;
指定数据库保存路径的步骤
新建目标目录
在目标位置新建目录
sudo mkdir /mnt/disk2/mysql
为新目录赋予权限
sudo chmod 755 /mnt/disk2/mysql
设置目录的拥有者
sudo chown -R mysql:mysql /mnt/disk2/mysql
移动数据库文件到新目录
停止MySQL服务
在移动数据库文件之前,需要先停掉MySQL的服务,避免数据库文件发生损坏
sudo systemctl stop mysql
复制文件到新目录
sudo rsync -av /var/lib/mysql/ /mnt/disk2/mysql/
删除原目录
sudo rm -rf /var/lib/mysql
初始化数据库
sudo mysqld --initialize --user=mysql --datadir=/mnt/disk2/mysql
修改配置文件
修改mysqld.cnf配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将 # datadir取消注释,并且将等号后面的路径修改为你实际的路径
datadir = /mnt/disk2/mysql
修改apparmor文件
sudo vim /etc/apparmor.d/usr.sbin.mysqld
将下面的代码
# Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk,
修改为
# Allow data dir access /mnt/disk2/mysql/ r, /mnt/disk2/mysql/** rwk,
安装apparmor
sudo apt install apparmor
重新加载 AppArmor 配置
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
重启apparmor服务
sudo service apparmor restart
后续操作
重新启动MySQL服务
sudo service mysql restart
重新登录MySQL,登录之后可以通过下面的命令查看自定义的数据库路径是否正确
SHOW VARIABLES LIKE 'datadir'; +---------------+-----------------------+ | Variable_name | Value | +---------------+-----------------------+ | datadir | /mnt/disk2/mysql/ | +---------------+-----------------------+ 1 row in set (0.01 sec)
新建非root用户
CREATE USER 'newUser'@'localhost' IDENTIFIED BY 'newPassword'; GRANT ALL PRIVILEGES ON *.* TO 'newUser'@'localhost'; FLUSH PRIVILEGES;
其中:newUser是你新用户的名字,newPassword是你新用户的密码;日常使用可以用该用户进行操作,增强安全性;
完全卸载MySQL的步骤:
如果你想卸载MySQL服务,或者想重装MySQL服务,那么干净得卸载原来的MySQL是必要的,你可以根据下面的命令来执行卸载的动作!
sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo rm -rf /etc/mysql sudo apt-get autoremove sudo apt-get autoclean sudo apt-get remove --purge mysql-\*
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/ubuntufuwuqianzhuangmysqlbingqiezhidingshujukubaocunlujing/.html