简单在ctenos7上安装mysql-8.0.11

mkdir -p /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/run/mariadb
mkdir -p /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/log/mariadb/mariadb.log
touch /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/run/mariadb/mariadb.pid


修改所有者
chown -R mysql:mysql /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/


初始化
./bin/mysqld --initialize --user=mysql --datadir=/home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
 
 #MySQL SSL RSA设置
 bin/mysql_ssl_rsa_setup --datadir /home/mysql/mysql-8.0.11-linux-glibc2.12-x86_64/data/
 
 #自启动
  cp support-files/mysql.server /etc/init.d/mysql.server
 使用自动生成的 密码
 
 #修改 /etc/my.cnf 文件  mysql --help|grep 'my.cnf'  命令可以看 :/etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 这些就是mysql默认会搜寻my.cnf的目录,顺序排前的优先。
 可以简单配置 data 目录 或者参考 详细设置配置
 
 #启动
 mysqld --user=root &
 
 #修改密码
 mysql>alter user 'root'@'localhost' identified by "DoctorAI#1234";
 
 
 #设置远程等陆(如果不修改就会 【mysql navicat 报错1130】)
 mysql>use mysql
 mysql>update user set host='%' where user='root';
 mysql>flush privileges;
 
 
 #mysql 8 修改 加密规则 (如果不修改就会 【mysql navicat报错 2059】)
 mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'DoctorAI#1234' PASSWORD EXPIRE NEVER;
 mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DoctorAI#1234'; #更新一下用户的密码 

 mysql>FLUSH PRIVILEGES; #刷新权限

 先来解释一下为什么会报这个错,在mysql8之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password。
  解决方案有很多,我是创建了一个新用户,并指定加密规则为:mysql_native_password,这样的话,仅需要执行以下语句即可:
create user 'your username'@'%' identified with mysql_native_password by 'your password'
  也可以直接修改my配置文件,将默认密码规则设置为mysql_native_password,刷新权限并重置root密码即可。
default_authentication_plugin=mysql_native_password
  如果想用新的caching_sha2_password也是可以的,java的话mysql已经推出了新的mysql-connector-java包,引入后,驱动使用com.mysql.cj.jdbc.driver即可,这个方案本地试了。没有问题。

 
开放3306端口
firewall -cmd --permanent --add-prot=3306/tcp
重启防火墙
firewall -cmd --reload


或者关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态


#关闭
./mysqld --user=root stop
#开启 通过在命令后面加上--user=root 进行强制使用root账号启动。这样是最快的。
mysqld --user=root &




导入数据库的表结构


--删除数据库
mysql> drop database test; 


--创建新的数据库   
mysql> create database test;    
  
--进入该数据库   
mysql> use test;    
  
--导入数据
mysql> source /home/xx.sql


参考:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

你可能感兴趣的:(linux,mysql8.0.11,ctenos7)