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 |