推荐安装方法:
推荐安装方法:
推荐安装方法:
在CentOS 8.3上安装MySQL 8.0.24(rpm方式)
1、卸载mariadb
[root@locathost ~]# rpm ‐qa|grep mariadb
mariadb‐libs‐5.5.52‐1.el7.x86_643
[root@locathost ~]# rpm ‐e ‐‐nodeps mariadb‐libs‐5.5.52‐1.el7.x86_644
[root@locathost ~]# rpm ‐qa|grep mariadb
[root@locathost ~]#
(rpm ‐qa|grep mariadb建议手动输入,复制到Linux上可能会出现bash: 未找到命令)
出现最后一行的[root@locathost ~]#
表示mariadb不在了
2、下载、上传、解压、创建文件夹
(1) 下载mysql-8.0.23-el7-x86_64.tar.gz到win上
(2) 用MobaXterm上传该gz文件到CentOS上,上传方式很简单,与CentOS做好连接后左边Linux文件目录上方的上传箭头点一下选择即可
(3) 在Linux上:
[root@locathost ~]# cd /usr/local
[root@locathost local]# tar -zxvf mysql-8.0.23-el7-x86_64.tar.gz
在MobaXterm将解压后出现的mysql-8.0.23-el7-x86_64改名为mysql,与win操作一样,要在Linux mv重命名一下也可以
(4)创建存放数据和日志的文件夹
[root@locathost local]# cd mysql
[root@locathost mysql]# mkdir data
[root@locathost mysql]# mkdir logs
3、创建mysql用户和组、授权
[root@locathost mysql]# groupadd mysql
[root@locathost mysql]# useradd -r -g mysql mysql
[root@locathost mysql]# mkdir data logs
[root@locathost mysql]# chown -R mysql:mysql /usr/local/mysql/
4、创建my.cnf配置文件并添加配置内容
[root@locathost mysql]# vim /etc/my.cnf
进入vim后,按键盘i键,vim下方出现:-- INSERT --,就可开始输入内容(复制下方内容后在vim中右键,修改你想修改的内容,如路径等,然后点OK):
[mysqld]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/logs/mysql.log
socket=/tmp/mysql.sock
event_scheduler=ON
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
long_query_time = 1
innodb_buffer_pool_size = 6G
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8MB4
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default-authentication-plugin=mysql_native_password
server-id=10
log-bin=/usr/local/mysql/logs/mysql-bin
max_connect_errors=1000
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
5、生成初始密码并查看
先在MobaXterm上的Linux路径中:/usr/local/mysql/logs中,右键创建新文件mysql.log
之后开始生成随机密码[一定要把生成的密码(下方图片的红框内)找个地方记下来!!!!!!!!不然到时候会登不了MySQL]
[root@locathost mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
[root@locathost mysql]# cat logs/mysql.logs | grep password
6、配置MySQL服务
(该点参考以下文章)
【超详细】Centos7安装mysql8(mysql-8.0.20-el7-x86_64.tar.gz)
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536
[root@localhost mysql]# systemctl daemon-reload #重新加载
软链接
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
启动服务并设置开机自启
[root@localhost mysql]# systemctl stop mysqld
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# systemctl enable mysqld
查看运行状态
[root@localhost mysql]# ps -ef | grep mysqld
[root@localhost mysql]# systemctl status mysqld
7、修改密码
复制之前自己记下来的生成的随机密码,在Enter password:后面鼠标右键一下,然后按下回车
[root@localhost mysql]# mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
有些人要进入mysql会出现上方ERROR
解决方法:
(1) 先停止mysql服务
service mysqld stop
(2) 进入mysql安装目录bin/ 使用safe模式,进行重启:
[root@localhost mysql]# cd bin
[root@localhost bin]# mysqld_safe --shared-memory --skip-grant-tables
(3) 再次输入密码
[root@localhost mysql]# mysql -uroot -p
Enter password:
同上方方法粘贴密码,进入mysql
由于随机生成的密码比较乱,建议改密码
很多文章给的修改密码的方法总是出现ERROR 1064(42000),由于是CentOS 8,所以SQL语句要用:
mysql> alter user'root'@'localhost' identified by '你自己想的密码';
然后退出
mysql> exit
8、再次进入mysql
[root@localhost mysql]# mysql -uroot -p