银河麒麟v10 sp2 (centos8)安装mysql8

首先,银河麒麟v10对标centos8,可以参考centos8的方式安装,建议不要使用免安装版linux-generic,坑太多。

一、卸载原系统mysql目录

1、查找并卸载的目录

# 查看现有版本 mariadb 和 mysql 都要查
rpm -qa|grep mariadb
rpm -qa|grep mysql

# 把上面查到的全部卸载
rpm -e --nodeps 【文件名】

# 再检查一边是否卸载干净
rpm -qa|grep mariadb
rpm -qa|grep mysql

# 查找mysql的目录全部删除
find / -name mysql

2、下载mysql安装包并安装

wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm  # 下载
yum install mysql80-community-release-el8-1.noarch.rpm  # 安装
yum repolist enabled | grep "mysql.*-community.*"  # 安装完成后要检查一MySQL源是否安装成功

在这里插入图片描述
显示一下内容表示成功。

3、禁用系统自带的mysql模块

yum module disable mysql

4、安装mysql

yum install mysql-community-server --nogpgcheck

遇到提示: is this ok (y/n) 时输入y

5、启动服务

安装完成后,系统已经自己创建了配置文件和启动命令
配置文件在: /etc/my.cnf 内容很少,只有日志和数据目录配置,可以自行添加
修改好后直接使用命令启动服务:

/bin/systemctl start mysqld.service  # 启动服务
service mysqld status  # 查看服务是否启动成功

银河麒麟v10 sp2 (centos8)安装mysql8_第1张图片
看到上面一行active(running)代表启动成功。测试完毕,其实一直到这里都是傻瓜式安装,所有配置文件都是系统自动,但是数据库储存目录建议要修改一下,默认安装都放在了系统目录下, 建议把数据目录放到自己项目制定的磁盘,否则将来随着项目运行数据库无限增大还需要迁移。

5.1、修改配置文件my.cnf

按上面的方式安装配置文件my.cnf一般在 /etc 文件夹下,或者搜索 find / -name my.cfn,找到配置文件my.cnf路径后vim修改:vim /etc/my.cnf
看到datadir = /…/…/… 就是数据存放目录了,改到你的目标目录即可。

service mysqld stop  # 关闭mysql服务
vim  /etc/my.cnf  # 修改配置文件

银河麒麟v10 sp2 (centos8)安装mysql8_第2张图片

5.2、创建数据存放目录

只修改配置文件直接启动会报错,需要把你目标目录手动创建好:

mkdir /home/ly_items/mysql_rpm/datas/mysql   # 先创建数据库存放目标目录
service mysqld start  # 启动服务

6、修改密码

服务启动后登录mysql数据库,可以看到有系统默认的四个库,其中是一个是mysql,在mysql登录窗口输入:user mysql;再输入,show tables;可以看到系统已经建好的表,其中一个表是user(一般在最下面),这里面就存放了mysql的登录的账户信息,包括host和password,其实修改密码或远程登录就是修改user表的password和host字段数据。

6.1方式一:使用随机密码登录修改

随机密码一般存放在mysqld.log日志中,可以使用vim或者命令行查看随机密码:

vim  /var/log/mysqld.log  # vim查看
grep 'temporary password' /var/log/mysqld.log   # 命令行查看

银河麒麟v10 sp2 (centos8)安装mysql8_第3张图片
root@localhost:后边就是生成的随机密码。登录mysql并修改密码:

mysql -u root -p  # 回车输入随机密码

修改密码有多个命令都可以修改:

# 方式一  alter 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 【’你的密码'】; 
# 方式二  update 修改密码
update mysql.user set authentication_string=MD5(【’你的密码'】)  where user='root';   

其实方式二就是直接数数据库的user表更新了密码字段authentication_string的数据。
但是使用这两种方式修改密码,数据库的显示是不同的,进入mysql数据库后分别执行命令查看两种方式修改后的user数据表:select user,host,authentication_string from user;
银河麒麟v10 sp2 (centos8)安装mysql8_第4张图片

6.2 方式二、免密登录修改密码

有时候你会发现,系统提供的随机密码无论你如何输入都是提示密码错误,不知道这是个什么鬼,那么没办法只能免密登录。
先找到my.cnf的路径,一般在 /etc 文件夹下,或者搜索 find / -name my.cfn,找到配置文件my.cnf路径后vim修改:vim /etc/my.cnf ,输入i进入编辑模式,在[msyqld]一栏下添加:skip-grant-tables # 免密登录
银河麒麟v10 sp2 (centos8)安装mysql8_第5张图片

systemctl restart mysqld;  # 重启mysql服务
mysql -u root -p  # 免密登录直接敲回车
use mysql;   # 进入mysql系统数据库
update user set authentication_string = '' where user = 'root';   # 先把密码重置为空字符串,这里只能用update修改密码
quit   # 退出登录

使用vim /etc/my.cnf 把刚才配置文件增加的 skip-grant-tables 注释掉,然后在重启mysql服务

service mysqld restart  # 重启服务,其实与上面的 systemctl restart mysqld; 一样,系统会提示重定位到systemctl...
mysql -u root -p  # 再次登录,使用空密码敲回车
ALTER USER 'root'@'localhost' IDENTIFIED BY 【’你的密码'】;   # 修改密码,这里也可以用update修改密码
quit  # 退出
systemctl restart mysqld;  # 再次重启

好了,使用新密码登录吧!

二、设置远程登录

新安装的mysql在系统user表中,host字段代表可以登录的ip,默认是localhost,只能本机登录,如果要远程登录,那么要修改host字段为 %,修改方式:

mysql -u root -p  # 密码登录
use mysql  # 使用系统数据库
select Host, User from user;  # 查看root用户的 host字段

银河麒麟v10 sp2 (centos8)安装mysql8_第6张图片
上图是两个显示模式,下表中明显看到host是localhost 上表中是一行乱码,其实这个模式是系统初始状态的数据,也是localhost,直接update修改即可:

update user set Host='%' where User='root';  # 更新host字段
flush privileges;   # 别忘了刷新权限

7、其他mysql服务命令

service mysqld start  # 启动 或:  systemctl start mysqld
service mysqld restart  # 重启 或:  systemctl restart mysqld
service mysqld stop  # 停止 或:  systemctl stop mysqld
service mysqld status  # 查看服务是否启动成功  或  systemctl status mysqld

三、常用mysql命令

1创建和修改库/表属性

create database 【数据库名称】 character set utf8; # 创建数据库,character可以简写为charset;
show create database 【数据库名称】 # 显示数据库的创建信息
alter database 【数据库名称】 character set utf8; # 修改数据库编码格式
use 【数据库名称】  # 进入或切换数据库
select database();  # 显示当前数据库 
create table 【表名】(【字段名】 【字段属性】, name CHAR(20),...);  # 创建表
show create table 【表名】;  # 显示已创建的表的信息
alter table 【表名】 add 【字段名】【字段属性】,name CHAR(20);  # 添加表字段
alter table【表名】 drop 【字段名】;  # 删除字段
alter table 【表名】 modify 【字段名】【字段属性】name VARCHAR(12);  # 修改字段属性
alter table 【表名】 change 【旧字段名】【新字段名】【字段属性】name pname CHAR(18);  # 修改字段名称和属性

2 修改数据

update 表名 set 字段名1=值1,字段名2=值2... where 字段名=值 and 字段名=值;

3 查询数据

select 【字段名】,【字段名】 from 【表名】 where 【条件】

4 数据库的导入和导出:

4.1、导出:mysqldump 导出注意不要进入数据库在命令窗口执行!!!
mysqldump -u 【数据库用户名root】 -p 【数据库名】> 【导出文件名】.sql; # 导出整个数据库
mysqldump -u 【数据库用户名root】-p 【数据库名】【表名】> 【导出文件名】.sql;# 导出数据库中的某张数据表(包括数据表中的数据)
4.2、导入, source导入必须先进入mysql 窗口 mysql -uroot -p;
1、show databases;查看所有数据库
2、 use db_xxxx; 进入接受数据的数据库
3、 source d:/ lc_db_02081010.sql (sql文件路径根据自己的实际情况而定)

你可能感兴趣的:(linux,服务器,mysql)