mysql8.0安装
yum安装
wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-server -y
grep 'temporary password' /var/log/mysqld.log 查看密码
set global validate_password.policy = 0 ;
set global validate_password.length = 1 ; 修改密码长度和规则
ALTER USER 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY '123456' ; 修改密码为123456
update mysql.user set host = '%' where user = "root" ; 修改root可以远程访问
ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
grant system_user on *.* to 'root' ;
flush privileges;
ALTER USER 'root' @'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
FLUSH PRIVILEGES;
docker-compose安装
version: "3"
services:
mysql:
container_name: mysql
image: mysql:latest
restart: always
ports:
- 3306 :3306
environment:
MYSQL_ROOT_PASSWORD: AAAaaa111.
volumes:
- /root/mysql/conf/:/etc/mysql/
- /root/mysql/mysql_data/:/var/lib/mysql/
networks:
- test_net
networks:
test_net:
name: test_net
driver: bridge
ipam:
config:
- subnet: "172.200.0.0/16"
源码安装
https://mirror.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-boost-8.0.28.tar.gz
yum -y install centos-release-scl
yum -y install ncurses-devel make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils openssl openssl-devel
scl enable devtoolset-10 bash
tar xzf mysql-boost-8.0.28.tar.gz
cd mysql-8.0.28/
cmake . -DCMAKE_INSTALL_PREFIX = /usr/local/mysql/ \
-DMYSQL_UNIX_ADDR = /tmp/mysql.sock \
-DMYSQL_DATADIR = /data/mysql/ \
-DSYSCONFDIR = /etc \
-DMYSQL_USER = mysql \
-DMYSQL_TCP_PORT = 3306 \
-DWITH_XTRADB_STORAGE_ENGINE = 1 \
-DWITH_INNOBASE_STORAGE_ENGINE = 1 \
-DWITH_PARTITION_STORAGE_ENGINE = 1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE = 1 \
-DWITH_MYISAM_STORAGE_ENGINE = 1 \
-DWITH_READLINE = 1 \
-DENABLED_LOCAL_INFILE = 1 \
-DWITH_EXTRA_CHARSETS = 1 \
-DDEFAULT_CHARSET = utf8 \
-DDEFAULT_COLLATION = utf8_general_ci \
-DEXTRA_CHARSETS = all \
-DWITH_BIG_TABLES = 1 \
-DWITH_DEBUG = 0 \
-DWITH_BOOST = ./boost/ \
-DFORCE_INSOURCE_BUILD = 1
make -j4
make -j4 install
/usr/local/mysql/bin/mysqld --initialize-insecure --user = mysql --basedir = /usr/local/mysql/ --datadir = /data/mysql/
ln -s /usr/local/mysql/bin/* /usr/bin/
\ cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
mysql
set global validate_password.policy = 0 ;
set global validate_password.length = 1 ;
ALTER USER 'root' @'localhost' IDENTIFIED BY '123456' ;
update mysql.user set host = '%' where user = "root" ;
ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
grant system_user on *.* to 'root' ;
flush privileges;
update user set authentication_string = password( "root" ) where user = 'root' and host = 'localhost' ;
grant system_user on *.* to 'root' ;
ALTER USER 'root' @'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
FLUSH PRIVILEGES;