Mysql 5.7 安装参考步骤:
先卸载MariaDB
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
rpm -qa|grep mariadb
第一步:下载mysql 5.7
[root@localhost ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
第二步:解压文件
[root@localhost ~]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
[root@localhost local]# mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
第三步:配置启动文件
1、然后去到mysql的support-files目录下,复制my.cnf到 /etc/my.cnf(mysqld启动时自动读取)
[root@localhost local]# cd mysql/support-files/
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite '/etc/my.cnf'? yes
注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。
[root@localhost support-files]# vim /etc/my.cnf
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
3、复制mysql.server到/etc/init.d/目录下(目的想实现开机自动执行效果)
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# vim /etc/init.d/mysql
datadir=/usr/local/mysql/data
[root@localhost support-files]# groupadd mysql
[root@localhost support-files]# useradd -r -g mysql mysql
[root@localhost support-files]# passwd mysql
[root@localhost support-files]# chown -R mysql:mysql /usr/local/mysql/
第四步:初始化 mysql 的数据库
[root@localhost support-files]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后会生成一个临时密码 root@localhost::*(最好先记录这个临时密码)
[root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
[root@localhost bin]# ./mysqld_safe --user=mysql &
[root@localhost bin]# ps -ef|grep mysql
第五步:进入客户端
[root@localhost bin]# ./mysql -uroot -p
Enter password:这里输入之前的临时密码
mysql> set password=password('新密码');
第六步:设置远程访问
[root@localhost bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
success
设置远程访问账号:grant all privileges on . to 远程访问用户名@’%’ identified by ‘用户密码’;
mysql> grant all privileges on *.* to root@'%' identified by 'root';
第七步:设置开机自启动
[root@localhost bin]# chkconfig --add mysql
[root@localhost bin]# chkconfig mysql on
第八步:配置环境变量
[root@localhost ~]# vim /etc/profile
export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
[root@localhost ~]# source /etc/profile
Mysql 8.0.X 安装参考步骤:
一、卸载MariaDB
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
二、安装MySQL
MySQL :: Download MySQL Community Server
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
.tar.xz后缀:tar -Jxvf 文件名
mv 原文件夹名 mysql8
有两种添加方式:export命令临时生效、修改配置文件用久生效;
export PATH=$PATH:/data/software/mysql8/bin
三、用户和用户组
groupadd mysql
# 创建一个系统用户:mysql,指定用户组为mysql
useradd -r -g mysql mysql
mkdir -p /data/software/mysql8/datas
chown -R mysql:mysql /data/software/mysql8/datas
# 更改模式
chmod -R 750 /data/software/mysql8/datas
四、初始化MySQL
在/data/software/mysql8/下,创建my.cnf配置文件,用于初始化MySQL数据库
# 默认字符集
default-character-set=utf8mb4
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
server-id=3306
user= mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /data/software/mysql8
# 数据存放目录
datadir = /data/software/mysql8/datas/mysql
log-bin = /data/software/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir =/data/software/mysql8/datas/mysql
innodb_log_group_home_dir =/data/software/mysql8/datas/mysql
#日志及进程数据的存放目录
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file =/data/software/mysql8/datas/mysql/mysql.pid
# 服务端使用的字符集默认为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
mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=mysql --initialize-insecure
defaults-file:指定配置文件(要放在–initialize 前面)
五、启动MySQL
查看 MySQL的 bin路径下,是否包含mysqld_safe,用于后台安全启动MySQL。
/data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
# 添加PATH变量后的命令(省略bin目录的路径)
mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
/data/software/mysql8/bin/mysql -u root --skip-password
# 有密码登录方式(初始的随机密码在/data/mysql8_data/mysql/mysql.log下)
mysql -u root -p
password:随机密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit