首先,银河麒麟v10对标centos8,可以参考centos8的方式安装,建议不要使用免安装版linux-generic,坑太多。
# 查看现有版本 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
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源是否安装成功
yum module disable mysql
yum install mysql-community-server --nogpgcheck
遇到提示: is this ok (y/n) 时输入y
安装完成后,系统已经自己创建了配置文件和启动命令
配置文件在: /etc/my.cnf 内容很少,只有日志和数据目录配置,可以自行添加
修改好后直接使用命令启动服务:
/bin/systemctl start mysqld.service # 启动服务
service mysqld status # 查看服务是否启动成功
看到上面一行active(running)代表启动成功。测试完毕,其实一直到这里都是傻瓜式安装,所有配置文件都是系统自动,但是数据库储存目录建议要修改一下,默认安装都放在了系统目录下, 建议把数据目录放到自己项目制定的磁盘,否则将来随着项目运行数据库无限增大还需要迁移。
按上面的方式安装配置文件my.cnf一般在 /etc 文件夹下,或者搜索 find / -name my.cfn,找到配置文件my.cnf路径后vim修改:vim /etc/my.cnf
看到datadir = /…/…/… 就是数据存放目录了,改到你的目标目录即可。
service mysqld stop # 关闭mysql服务
vim /etc/my.cnf # 修改配置文件
只修改配置文件直接启动会报错,需要把你目标目录手动创建好:
mkdir /home/ly_items/mysql_rpm/datas/mysql # 先创建数据库存放目标目录
service mysqld start # 启动服务
服务启动后登录mysql数据库,可以看到有系统默认的四个库,其中是一个是mysql,在mysql登录窗口输入:user mysql;再输入,show tables;可以看到系统已经建好的表,其中一个表是user(一般在最下面),这里面就存放了mysql的登录的账户信息,包括host和password,其实修改密码或远程登录就是修改user表的password和host字段数据。
随机密码一般存放在mysqld.log日志中,可以使用vim或者命令行查看随机密码:
vim /var/log/mysqld.log # vim查看
grep 'temporary password' /var/log/mysqld.log # 命令行查看
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;
有时候你会发现,系统提供的随机密码无论你如何输入都是提示密码错误,不知道这是个什么鬼,那么没办法只能免密登录。
先找到my.cnf的路径,一般在 /etc 文件夹下,或者搜索 find / -name my.cfn,找到配置文件my.cnf路径后vim修改:vim /etc/my.cnf ,输入i进入编辑模式,在[msyqld]一栏下添加:skip-grant-tables # 免密登录
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字段
上图是两个显示模式,下表中明显看到host是localhost 上表中是一行乱码,其实这个模式是系统初始状态的数据,也是localhost,直接update修改即可:
update user set Host='%' where User='root'; # 更新host字段
flush privileges; # 别忘了刷新权限
service mysqld start # 启动 或: systemctl start mysqld
service mysqld restart # 重启 或: systemctl restart mysqld
service mysqld stop # 停止 或: systemctl stop mysqld
service mysqld status # 查看服务是否启动成功 或 systemctl status mysqld
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); # 修改字段名称和属性
update 表名 set 字段名1=值1,字段名2=值2... where 字段名=值 and 字段名=值;
select 【字段名】,【字段名】 from 【表名】 where 【条件】
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文件路径根据自己的实际情况而定)