xshell远程连接Linux安装MySQL8.0并导入数据库文件
MySQL8,新增data dictionary,数据初始化的时候在Linux下默认使用lower_case_table_names=0的参数,数据库启动的时候,读取/etc/my.cnf中的值,如果/etc/my.cnf中的值与数据库初始化时的值不一样,则会报如下错误。如果出现以下错误:是密码安全性未达到要求,你可以先设置比较复杂的密码(之后可以再改),因为第一次登陆必须先修改密码才能进行其他操
xshell远程连接Linux安装MySQL8.0并导入数据库文件
安装前清理工作
清理原有的mysql数据库
使用以下命令查找出安装的mysql软件包和依赖包
rpm -qa | grep mysql
使用以下命令依次删除上面的程序:
yum remove 名字
再检查一遍是否有残留,没有的话进入下一步:删除mysql的配置文件。
卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件:
find / -name mysql
使用以下命令依次删除上面的程序:
rm -rf 名字
删除MariaDB的文件
使用rpm命令查找出要删除的mariadb文件:
rpm -qa | grep mariadb
删除语句:
rpm -e 文件名
我这里没有,因此跳过这一步
安装MySQL
下载Yum Repository
网址:https://dev.mysql.com/downloads/repo/yum/
根据不同版本的CentOS系统进行下载,点击Download,我的是Linux 7
我是通过xftp把Windows上的文件上传到下shell服务器中的
也可以使用XShell,连接服务器,下载mysql的repo源:
wget https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
安装mysql80-community-release-el7-5.noarch.rpm包
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
安装MySQL
yum -y install mysql-community-server
启动mysql服务并查看mysql状态
创建mysql目录
mkdir mysql
我放在了/usr/local/mysql这里
并在mysql中添加了data目录数为数据目录
查找my.cnf文件位置,我的在/etc/my.cnf
locate my.cnf
修改Mysql配置文件
vim /etc/my.cnf
在[mysqld]在下面增加一行
lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)
找到mysql.server地址
find / -name mysql.server
配置mysql相关地址
启动mysql服务:
systemctl start mysqld.service
初始化(很重要!!!)
MySQL8,新增data dictionary,数据初始化的时候在Linux下默认使用lower_case_table_names=0的参数,数据库启动的时候,读取/etc/my.cnf中的值,如果/etc/my.cnf中的值与数据库初始化时的值不一样,则会报如下错误
[ERROR] [MY-011087] [Server] Different lower_case_table_names
settings for server (‘1’) and data dictionary (‘0’).
MySQL官方提供的rpm包,默认禁用lower_case_table_names=0
–官方解释: After initialization, is is not allowed to change this setting.So “lower_case_table_names” needs to be set together with
–initialize .此参数需数据库初始化的值和启动是的值需相等
mysqld --lower_case_table_names=1 --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
查看状态
systemctl status mysqld.service
active表示mysql服务已启动。
获取mysql的root用户初始密码并修改
获取root用户初始密码:
grep "password" /var/log/mysqld.log
因为安装了Yum Repostiory,以后每次yum操作都自动更新,需要把这个卸载掉:
yum -y remove mysql80-community-release-el7-5.noarch
关闭和重启mysql:
systemctl stop mysqld.service #关闭mysql
service mysqld restart #重启mysql
登录root用户并修改密码:
mysql -uroot -p
密码是刚刚生成的那串数字
A temporary password is generated for root@localhost: Mh>tqxtsd8(z
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
新密码的要求是8位数,包含大小写字母和数字以及特殊符号(!@ #_)等等
如果出现以下错误:是密码安全性未达到要求,你可以先设置比较复杂的密码(之后可以再改),因为第一次登陆必须先修改密码才能进行其他操作
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
登陆之后,可查看MySQL完整的初始密码规则:
SHOW VARIABLES LIKE 'validate_password%';
可以临时修改validate_password.length和validate_password.policy的值,再设置较为简单的密码:
set global validate_password.length=6;
set global validate_password.policy =0;
设置远程连接(Navicat)
use mysql; # 使用mysql数据库
select user,host from user; # 查看用户及用户登录权限
上面表示的的四个用户均只能本地登录,不允许远程登录,所以我们需要新增用户,并赋予远程连接权限
新增远程连接用户:
CREATE USER 'ry'@'%' IDENTIFIED BY '123456';
设置远程连接权限
grant all privileges on *.* to 'ry'@'%';
刷新权限
flush privileges;
导入数据库文件
source 命令导入数据库需要先登录到数库终端:
创建数据库
create database ry;
使用数据库
use ry;
设置编码
set names utf8;
导入数据库(最好是在数据库所在的文件下操作,否则需要填写绝对地址)
source ry.sql
数据导入完成之后,可以查看数据库中的表看看是否完整
show tables;
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)