Centos 安装MySQL8
一 、卸载MariaDB
- 查看mariadb有无
rpm -qa|grep mariadb
- 有就卸载
rpm -qa|grep mariadb
二、下载MySQL压缩包
-
官网
https://downloads.mysql.com/archives/community/
-
方式1:下载好进行上传安装
选择好后,进行下载,通过文件传输软件进行文件传输。 -
方式2:wget下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
在第一步,下载按钮哪里复制下载链接,进行下载。
三、安装
-
解压
.tar.gz后缀:tar -zxvf 文件名 .tar.xz后缀:tar -Jxvf 文件名
-
重命名文件并移动
mv 解压后文件名 mysql mv mysql /usr/local/ cd /usr/local/m
-
创建用户组和用户
# 创建一个用户组:mysql groupadd mysql # 创建一个系统用户:mysql,指定用户组为mysql useradd -r -g mysql mysql
-
创建MySQL数据目录
mkdir /usr/local/mysql/data
-
进入mysql目录对文件赋予权限
cd /usr/local/mysql/ chown -R mysql:mysql ./
-
初始化数据库
进入mysql下的bin目录mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后会生成一个初始密码 ,输出中 root@localhost: =7j1kzPnD<p; 中的字符’=7j1kzPnD<p;'即为初始密码,每个人的都不一样,修改密码要用到,如果忘记了找不回来了,删除data目录下的所有文件,重新初始化一次。
在bin下创建这个文件,并且配置权限,修改当前用户为root用户cd /usr/local/mysql/bin mkdir mysql_install_db chmod 777 ./mysql_install_db
-
编辑my.cnf文件
退回mysql目录,创建my.cnf文件touch my.cnf vim my.cnf
按 i 键进行编辑,编辑完后按Esc退出编辑,shift + :后输入指令wq,进行保存修改退出文件或退出或退出不修改(:wq -->保存并退出,:q–>退出,:q! -->不保存退出),内容为:
[mysql] # 默认字符集 default-character-set=utf8mb4 [client] port = 3306 socket = /usr/local/mysql/tmp/mysql.sock [mysqld] port = 3306 server-id = 3306 user = mysql socket = /usr/local/mysql/tmp/mysql.sock # 安装目录 basedir = /usr/local/mysql # 数据存放目录 datadir = /usr/local/mysql/data # 服务端使用的字符集默认为8比特编码 character-set-server=utf8mb4 #lower_case_table_names=1 autocommit =1 skip-external-locking key_buffer_size = 256M max_allowed_packet = 1M table_open_cache = 1024 sort_buffer_size = 4M net_buffer_length = 8K read_buffer_size = 4M read_rnd_buffer_size = 512K myisam_sort_buffer_size = 64M thread_cache_size = 128 #query_cache_size = 128M tmp_table_size = 128M explicit_defaults_for_timestamp = true max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 binlog_format=mixed binlog_expire_logs_seconds =864000 # 创建新表时将使用的默认存储引擎 default_storage_engine = InnoDB innodb_data_file_path = ibdata1:10M:autoextend innodb_buffer_pool_size = 1024M innodb_log_file_size = 256M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 transaction-isolation=READ-COMMITTED [mysqldump] quick max_allowed_packet = 16M [myisamchk] key_buffer_size = 256M sort_buffer_size = 4M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
修改权限:
chown -R root:root ./ chown -R mysql:mysql data
如果/usr/local/mysql/目录下没有tmp文件,手动创建,并且配置权限:
cd /usr/local/mysql/ mkdir tmp chmod 777 ./tmp
-
加入开机自启
cd support-files/ cp mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql
-
注册启动服务
chkconfig --add mysql chkconfig --list mysql
-
配置环境变量
vim /etc/profile
末尾追加以下代码
export MYSQL_HOME MYSQL_HOME=/usr/local/mysql export PATH=$PATH:$MYSQL_HOME/lib:$MYSQL_HOME/bin
执行环境变量
source /etc/profile
-
启动服务
service mysql start
四、执行
-
输入默认密码
mysql -uroot -p
-
修改密码
alter user 'root'@'localhost' identified by '123456';
-
设置允许远程登录
mysql> use mysql mysql> update user set user.Host='%'where user.User='root'; mysql> flush privileges; mysql> quit