写在前面
最近在自己的老机器上面装了个虚拟机CentOS 8, 局域网内都可以ssh上去,方便学习。最近又需要用到MySQL了,配置一遍下来又踩了好多坑,先记录一下,大家也可以参考参考。适用于MySQL5.7之后的版本。
之前直接在Windows上面装,可以看我另一篇文章:
免安装版MySQL5.7配置过程(Windows环境)
创建mysql用户和组
> sudo groupadd mysql
> sudo useradd mysql -g mysql
配置目录和文件
- tar包解压位置:
/opt/application/mysql-5.7.30
- MySQL数据存放位置:
/data/mysql/data
目录权限修改
> sudo chown -R mysql:mysql /opt/application/mysql-5.7.30
> sudo chown -R mysql:mysql /data/mysql
my.cnf
[mysqld]
character-set-server=utf8
#绑定IPv4和3306端口
bind-address = 0.0.0.0
port = 3306
# 设置mysql的安装目录
basedir=/opt/application/mysql-5.7.30
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
# 允许最大连接数
max_connections=200
# skip_grant_tables
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
default-character-set=utf8
设置环境变量
> sudo vim /etc/profile
文件最后加上:
PATH=$PATH:/opt/application/mysql-5.7.30/bin
export PATH
更新环境变量:
> source /etc/profile
这样就可以任意路径下都能执行mysql命令了
初始化数据库
[ligoudan@localhost mysql-5.7.30]$ ./mysql-5.7.30/bin/mysqld --initialize --user=mysql
记下最后一行临时密码
[Note] A temporary password is generated for root@localhost: !2scz,CdaYqh
启动数据库服务
> sudo cp /opt/application/mysql-5.7.30/support-files/mysql.server /etc/init.d/mysqld
> sudo systemctl enable mysqld
> sudo service mysqld start
注意:my.cnf
一定要放在/etc
下面,否则启动服务会有问题
登录数据库
> mysql -uroot -p
结果报错:
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
这里解决花了很长直接,最终建议直接一步到位通配符安装依赖:
> sudo yum install libncurses* -y
修改默认密码
mysql> alter user user() identified by "你的密码";
创建其他用户并授权
mysql> CREATE USER ligoudan identify BY '你的密码';
mysql> GRANT all ON *.* TO 'ligoudan'@'%';
done.
最新留言