MySQL8通常安装后有一些动作要做,例如建立应用和管理员账号, 移动数据库目录等。
创建账号
数据库默认安装完成后只有一个 root@localhost账号, 通常我们要建立一个远程管理账号和若干个应用系统账号
创建远程管理账号
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root_1qaz' password expire never;
GRANT ALL PRIVILEGES ON *.* to 'root'@'%' with grant option;
创建应用系统的账号
CREATE DATABASE TEST DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'TEST'@'%' IDENTIFIED WITH mysql_native_password BY 'TEST_1qaz' password expire never;
GRANT ALL PRIVILEGES ON TEST.* to 'TEST'@'%' ;
GRANT PROCESS on *.* to 'TEST'@'%';
怎么移动数据目录
通常,我们安装MySQL是使用安装包安装,安装在默认的位置,而不是我们希望的linux通常划分的数据挂载点, 那么我们怎么移动数据目录呢?
一 redhat系安装后移动数据库目录
默认安装在/var/lib/mysql 目录, 假设我们数据磁盘挂载点是 /u01
#selinux必须关闭
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config ; #永久关闭
setenforce 0 #临时关闭
#停止实例
systemctl stop mysqld
mkdir -p /u01/mysql ; chown mysql:mysql /u01/mysql
#移动原目录下的文件到新的目录
mv /var/lib/mysql/* /u01/mysql/
#修改配置文件 /etc/my.cnf 中 datadir
datadir=/var/lib/mysql 修改为 /u01/mysql
#重启服务
systemctl start mysqld
还有一个更简单的方式是安装好rpm包, 不要启动 mysqld 服务。先修改 /etc/my.cnf 中datadir为要安装到的目录, 再启动 mysqld 服务, 这样数据库就创建到你想要的目录了。
二 ubuntu系安装后移动数据库目录
默认安装在 /var/lib/data 目录 , 假设我们数据磁盘挂载点是 /u01
#停止实例
systemctl stop mysql
#移动原目录下的文件到新的目录
mv /var/lib/data /u01/
#修改/etc/mysql/mysql.conf.d/mysqld.cnf中datadir
datadir = /var/lib/mysql 修改为 /u01/mysql
#修改文件 /etc/apparmor.d/tunables/alias 增加一行
alias /var/lib/mysql/ -> /u01/mysql/
#重启服务
systemctl restart apparmor
systemctl start mysqld
三 windows安装后移动数据库目录
默认安装在 c:\program files\mysql 目录 , 假设我们要移动到e盘
rem 停止实例服务
net stop mysql
rem 删除实例服务
sc delete mysql
手动拖拽移动目录 c:\program files\mysql 到 e:\
修改 my.ini 和环境变量中的相关的值
rem 安装实例服务
mysqld --install
rem 启动实例服务
net start mysql