1.去mysql官网下载这个 地址:MySQL :: Download MySQL Community Server (Archived Versions)
2.下载后解压可以看到:
进入centos 9在 usr/local/ 下创建文件夹 mysql
把下载解压好的文件全部拖进虚拟机mysql中
3.在mysql内打开终端输入:
yum search libaio
看一下有没有安装libaio依赖
4.我们打开etc发现没有my.cnf(mysql的配置文件) 我们自己建一个
vim /etc/my.cnf
在里面输入:
[client]
port=3306
socket=/usr/local/mysql/data/mysql.sock
[mysql]
port=3306
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/usr/local/mysql.pid
socket=/usr/local/mysql/data/usr/local/mysql.sock
transaction_isolation=READ-COMMITTED
lower_case_table_names=1
skip-name-resolve=ON
connect_timeout=30
default_authentication_plugin=mysql_native_password
log_fake=/usr/local/mysql/log/fake.log
slow_query_log=1
log_output=FILE
slow_query_log_file=/usr/local/mysql/log/mysql-slow.log
long_query_time=5
max_connections=200
max_connect_errors=300
wait_timeout=86400
5.修改一下mysql的mysl.server脚本
vim /usr/local/mysql/support-files/mysql.server
把空的这些路径加一下如图 有些人可能不需要
6.用户组和初始化
创建mysql用户组和mysql用户
#groupadd mysql
#useradd -r -g mysql mysql
关联myql用户到mysql用户组中
#chown -R mysql:mysql /usr/local/mysql/
#chown -R mysql /usr/local/mysql/
赋予安装权限
#chmod 750 /usr/local/mysql
初始化mysql命令
#cd /usr/local/mysql/bin
#./mysqld --defaults-file=/etc/my.cnf --initialize
7.如果#./mysqld --defaults-file=/etc/my.cnf --initialize没有报错我们进入 etc/local/mysql目录下 打开fake.log 可以看到 下面有一个临时密码 要记住一会儿登录要用
如果报了这样的错
我们用百度翻译得知
总结一下大概就是权限的问题不能创建error.log
本着差什么就加什么的原则
那我们直接给他创好 这样最方便
mkdir /usr/local/mysql/log
touch /usr/local/mysql/log/fake.log
然后问题直接解决
8.接下来启动mysql服务
support-files/mysql.server start
启动mysql
mysql -uroot -p
输入临时密码
10.修改密码
新版mysql修改密码教程请参考(9条消息) Operation ALTER USER failed for ‘root‘@‘%‘_丶Summer℡ 念~的博客-CSDN博客
加上
alter user 'root'@'%' identified with mysql_native_password by '你的密码';
11.忘记临时密码或者临时密码不正确了怎么办?
vim /etc/my.cnf
在最后面插入
skip-grant-tables
输入mysql -uroot -p
直接回车可以跳过登录
然后参考步骤10修改密码
修改完后记得进入my.cnf把skip-grant-tables删掉
12.设置mysql自启
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/init.d/mysqld
systemctl enable mysqld