インストールMySQLの8.0.18 CentOSの7

MySQLコミュニティダウンロード:https://dev.mysql.com/downloads/mysql/

まず、それはMySQLやmariadbをインストールする必要があるかどうかのチェック、任意のアンインストール

1.1チェックmariadb

rpm -qa | grep mariadb


1.2削除mariadb

yum -y remove mariadb-*

1.3チェックmysqlの

rpm -qa | grep mysql

1.4削除mysqlの

yum -y remove mysql-*

1.5古い設定ファイルを削除します

rm -rf /etc/my.cnf

第二に、MySQLをインストール

インストールソースの設定2.1

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.2インストール

sudo yum --enablerepo=mysql80-community install mysql-community-server


2.3 mysqlの起動
開始を

systemctl start mysqld

実行中のステータスを表示

systemctl status mysqld

ストップ

systemctl stop mysqld

再起動

systemctl restart mysqld


2.4ビューポート操作

netstat -nlpt

第三に、パスワードを表示および変更

インストール後3.1 mysqlのは、あなたがログイン後にパスワードを変更したいことを、デフォルトのパスワードを生成します、他の操作に使用することはできません

cat /var/log/mysqld.log


3.2ログは、上記のパスワードをコピーし、最初のrootアカウントのパスワードを変更します

mysql -u root -p

あなたのパスワードを変更、パスワードは(ケース+記号+番号)少し複雑である、または現在のポリシー要件を満たしていないパスワードを求めるプロンプトが表示されます注意してください

ALTER USER USER() IDENTIFIED BY 'Xinmima@2020';

第四に、リモートアクセスの設定

4.1システムの利用者をチェックし、ルートのデフォルトは、リモートアクセスを許可していない、あなたは、次の図ローカルホストのrootアカウント%の変更を必要とします

use mysql;
select user,host,authentication_string from mysql.user;

4.2の変更はroot権限とリフレッシュ許可

update mysql.user set host='%' where user='root';
flush privileges;

第五に、新しいアカウントのMySQL +認証

5.1新しいテストアカウントは、%表示は、リモートログインを可能にする、変更のIPアドレスIPログインです

create user 'test'@'%' identified by 'Xinmima@2020';

ここでは、認可の部分は次のとおりです。
5.2は、ユーザーTESTDBデータベースに付与されたすべての権限をテストするために(リモートログイン)

grant all privileges on testdb.* to 'test'@'%';
flush privileges;

テストTESTDBデータベース(リモートログイン)への補助金の許可にユーザーを照会する5.3

grant select on testdb.* to 'test'@'%';
flush privileges;

削除、ユーザデータベースインサートを試験する5.4 TESTDBグラント、更新権限(リモートログイン)

grant insert,delete,update on testdb.* to 'test'@'%';
flush privileges;

5.5ビューのユーザーの権限

show grants for 'test'@'%';


TESTDBのテストデータを削除するには、5.6アップデートユーザー権限

revoke update on testdb.* from 'test'@'%';
flush privileges;

第六に、変更MySQLのポート

6.1編集のmy.cnf

vi /etc/my.cnf

6.2 默认配置不含port行需自行添加,按esc退出INSERT模式 :wq 保存
port=6666

6.3 重启mysql并查看端口状态 注意:如果是云服务器(如阿里云),一定要检查安全组是否开启相应的端口,不然客户端连不上

systemctl restart mysqld
netstat -nlpt

七、修改mysql的数据、日志存放路径

7.1 先停止msyql

systemctl stop mysqld

7.2 先创建好要存储的位置

mkdir -p /data/mysql & cd /data/mysql

7.3 把文件移到/data/mysql/文件夹下,cp -a参数是权限也一起复制

cp -a /var/lib/mysql /data/

7.4 修改软连接

ln -s /data/mysql /var/lib/

7.5 查看软连接

ls -la /var/lib/mysql

7.6 修改my.cnf配置文件

vim /etc/my.cnf
属性 原值 修改为
datadir /var/lib/mysql /data/mysql
socket /var/lib/mysql/mysql.sock /data/mysql/mysql.sock

datadir=/data/mysql
socket=/data/mysql/mysql.sock

7.7 启动mysql并查看状态

systemctl start mysqld

7.8 登录mysql,查看数据文件

mysql -u root -p
show global variables like "%datadir%";

八、常见问题和处理

8.1 如果客户端连接报错"Authentication plugin 'caching_sha2_password' cannot be loaded",是以为mysql 8的加密方式改了。有两种选择 1、升级客户端 2、把加密方式改为传统的方式
推荐用新的加密方式(一般升级客户端就可以了),老项目代码的话可能有老的jar包等不支持新加密,下面是改为传统加密方式

ALTER mysql.USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Xinmima@2020';

8.2 查找mysql的安装路径

whereis mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/man/man1/mysql.1.gz

8.3 创建数据库,字符集有两种

方式 字符集 排序规则
不支持emoji utf8 utf8_general_ci
支持emoji utf8mb4 utf8mb4_general_ci

おすすめ

転載: www.cnblogs.com/nickchou/p/12093763.html