Ubuntu 環境に mysql5.7 をインストールしてデプロイし、リモート アクセス接続を開き、データ ストレージの場所を変更し、mysql をアンインストールします

序文

このドキュメントは、インターネット接続がある場合に Ubuntu20.04 システムで mysql5.7 をデプロイするのに適しています。

mysql5.7 をインストールする 2 つの方法を提供し、mysql リモート アクセス許可を有効にしてリモート接続を許可する方法、およびデータベース データのストレージ パスを変更する方法についても説明します。

1. インストール前の準備

1. 現在サーバー上に MySQL が存在するかどうかを確認します

rpm -qa | grep mysql

図に示すように、rpm コマンドが存在しないため、rpm をインストールする必要があることを示すプロンプトが表示されます。コマンド: apt install rpm

 注:空のメッセージが返された場合は、MySQL が現在の環境にインストールされていないことを意味します。後続の操作については、ステップ 4 に直接スキップしてください。

 2. MySQL の関連構成ファイル、ソース コード、ヘルプ ドキュメントの場所を表示します。

whereis mysql

ps: 存在する場合は、mysql 関連のパスが返されます。

3. 上記を通じて対応するディレクトリを見つけ、対応するmysql関連ファイルを削除します。

rpm -e --nodeps mysql-xxxx

-- nodeps パラメータ、依存関係チェックをスキップ

注:現在の環境に mysql がインストールされていない場合は、手順 2 と 3 を無視してください。

4. 現在の環境に独自の mariadb データベースがあるかどうかを確認します。

rpm -qa | grep mariadb

注:空の情報が返された場合は、mariadb が現在の環境にインストールされていないことを意味するため、dpkg の手順に進んでインストールします。

5. アンインストールを推奨

rpm -e --nodeps mariadb-libs

 2. dpkg -i によるインストール (方法 1) 推奨

1. mysql5.7のdebファイルソースパッケージをダウンロードします。

cd /usr/local

mkdir mysql

cd mysql

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tarを取得し ます

ps:デフォルトでは、現在のディレクトリにダウンロードされます。

2. ソースコードパッケージを解凍します。

tar -xvf mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tar

 解凍された関連パッケージ

 3. テスト関連パッケージの名前を削除します。無駄です。

rm -f mysql-community-test_5.7.35-1ubuntu18.04_amd64.deb

rm -f mysql-testsuite_5.7.35-1ubuntu18.04_amd64.deb

4. dpkgコマンドを使用してインストールする

dpkg -i mysql-*.deb

説明: dpkg -i は、.deb ファイルをインストールするための dpkg コマンド オプションです。

(データベースを読み取り中...現在インストールされているファイルとディレクトリは 78536 個です。)

mysql-client_5.7.35-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql クライアント (5.7.35-1ubuntu18.04) を解凍します。

以前に選択されていなかったパッケージ mysql-common を選択します。

mysql-common_5.735-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql 共通 (5.7.35-1ubuntu18.04) を解凍します。

以前に選択を解除したパッケージ mysql コミュニティ クライアントを選択します。

mysql-community-client5.7.35-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql コミュニティ クライアント (5.7.35-1ubuntu18.04) を解凍します。

以前に選択されていなかったパッケージ mysql コミュニティ サーバーを選択します。

mysql-community-server_5.7.35-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql コミュニティ サーバー (5.7.35-1ubuntu18.04) を解凍します。

以前に選択されていなかったパッケージ mysql コミュニティ ソースを選択します。

mysql-community-source_5.7.35-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql コミュニティのソース コード (5.7.35-1ubuntu18.04) を解凍します。

以前に選択を解除したパッケージ mysql サーバーを選択します。

mysql-server_5.7.35-1ubuntu18.04_amd64.deb を解凍する準備をしています。

mysql サーバー (5.7.35-1ubuntu18.04) を解凍します。

mysql-common (5.7.35-1ubuntu18.04) のセットアップ。

代替手段を更新: /etc/mysql/my.cnf.fallback を使用して /etc/mysql/my.cnf (my.cnf) を自動モードで提供します

dpkg: 依存関係の問題により、mysql コミュニティ クライアントの構成が妨げられます。

mysql コミュニティ クライアントは libtinfo5 (>=6) に依存しますが、次のとおりです。

パッケージ libtinfo5 がインストールされていません。

dpkg: パッケージ mysql コミュニティ クライアントのエラー処理 (--install):

依存関係の問題 - 未構成のままにする

dpkg: 依存関係の問題により、mysql コミュニティ サーバーの構成が妨げられます。

mysql コミュニティ サーバーは libmecab2 に依存しますが、次のとおりです。

パッケージ libmecab2 がインストールされていません。

dpkg: mysql コミュニティ サーバー パッケージの処理中にエラーが発生しました (--install):

依存関係の問題 - 未構成のままにする

mysql コミュニティ ソース コード (5.7.35-1ubuntu18.04) のセットアップ。

dpkg: 依存関係の問題 mysql サーバーのブロック構成:

mysql サーバーは mysql コミュニティ サーバー (=5.7.35-1ubuntu18.04) に依存しますが、次のとおりです。

パッケージ mysql-community-server が構成されていません。

dpkg: パッケージ mysql-server (--install) の処理中にエラーが発生しました:

依存関係の問題 - 未構成のままにする

dpkg: 依存関係の問題により、mysql クライアントの構成が妨げられます。

mysql クライアントは mysql コミュニティ クライアント (=5.7.35-1ubuntu18.04) に依存しますが、次のとおりです。

パッケージ mysql-community-client が設定されていません。

dpkg: パッケージ mysql クライアントの処理中にエラーが発生しました (--install):

依存関係の問題 - 未構成のままにする

man データベースのトリガーを処理します (2.9.1-1)。

systemd (245.4-4ubuntu3.22) のトリガーを処理します。

処理中にエラーが発生しました:

mysqlコミュニティクライアント

mysqlコミュニティサーバー

mysqlサーバー

mysqlクライアント

上記は、libtinfo5 および libmecab2 パッケージが欠落していることを意味しますが、これらを一度に直接インストールできます。

apt インストール libtinfo5 libmecab2

実行後、以下が表示されます: root ユーザーのパスワードを設定します

 パスワードを認証する

5. バージョンを確認する

mysql -V 或 /usr/bin/mysql -V

 6.mysqlのステータスを確認する

systemctl status mysql

 7.mysqlを起動します

systemctl start mysql

8.mysqlサービスを停止します。

systemctl stop mysql

 9.mysqlサービスを再起動します。

systemctl restart mysql

 10.オートスタート

systemctl enable mysql

3. 圧縮パッケージを使用してインストールする (方法 2)

1. コマンドを使用して、必要な mysql インストール パッケージをダウンロードします。

cd /usr/local/

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

2. 解压

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 

3.修改解压后的名称:mysql

mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql

4.创建存放数据的目录

mkdir -p /u01/mysql/data

cd /u01/mysql/data

5.给创建的数据目录赋予权限

chmod -R 777 /u01/mysql/data

6.创建用户用户组,并将创建的用户添加到用户组中

groupadd mysql 创建用户组
useradd -g mysql mysql 创建用户mysql(mysql)并将用户添加到用户组(mysql)中

7.修改mysql配置文件

vim /etc/my.cnf  

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/u01/mysql/data

socket=/tmp/mysql.sock

log-error=/u01/mysql/data/mysql.err

pid-file=/u01/mysql/data/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true

8.安装并初始化mysql

(1)进入mysql安装目录的bin目录

        cd bin

(2)执行如下命令

./mysqld --initialize --user=mysql --datadir=/u01/mysql/data/ --basedir=/usr/local/mysql/

9.查看mysql密码

cat /u01/mysql/data/mysql.err

10.修改配置如下所示:

打开文件:

vim /usr/local/mysql/support-files/mysql.server

 11.添加软连接

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

12.启动mysql

如果使用 service mysql start 出现如下所示,就使用后面的命令启动mysql

上述命令不行,可以尝试命令: sudo /etc/init.d/mysql start

 四、开启mysql远程访问权限,允许远程连接

1.登录mysql

mysql -u root -p

2.选择mysql数据库

use mysql

3.修改配置

update user set host='%' where user='root';

 4.刷新权限,使其生效

flush privileges;

5.退出

exit

五、修改数据存储路径

1.查看当前mysql的数据存放路径

(1)登录mysql

(2)看目前mysql的数据存放路径

show variables like '%datadir%';

 默认的数据存放位置

 2.在/etc/mysql/mysql.conf.d目录下,修改mysqld.cnf文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

如下:

3.编辑usr.sbin.mysqld配置文件

vim /etc/apparmor.d/usr.sbin.mysqld

修改成如下配置

 

在最后添加两行命令,是为了AppArmor配置以允许MySQL访问所需的文件和目录

4.配置权限

sudo chmod -R 775 /u01/mysql/data 配置文件夹的权限
sudo chown -R mysql:mysql /u01/mysql/data

 5.重启服务

service apparmor reload

service apparmor restart

service mysql start

6.再验证一下是否修改成功-重新执行步骤1

遇到问题

问题一:

AppArmor parser error for /etc/apparmor.d/usr.lib.snapd.snap-confine.real in /etc/apparmor.d/usr.lib.snapd.snap-confine.real at line 11: Could not open '/var/lib/snapd/apparmor/snap-confine' Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld at line 7: Could not open 'abstractions/mysql'

解决方法:安装snap

apt intasll snap

问题二:

--initialize specified but the data directory has files in it. Aborting.

意思是初始化数据目录时发现目录里面有文件,可能原因是之前运行过命令目录中已生成文

件。

解决方法:只要我们找到MySQL的数据目录并删除里面的文件即可解决。

找到mysql存放的路径上面的第2步就可以看见,原位置是/var/lib/mysql,切换到这个目录下,删除所有文件命令 rm -rf * 再看一下新位置(/u01/mysql/data/)是否存在文件有的话也删除。全部删除完成之后,重新执行mysql启动命令:systemctl status mysql

注:只适用于新安装的数据库,不适用之前安装好的修改存储路径,后者需要先备份数据。

六、MySQL实用操作命令

1.连接mysql命令

mysql -u root -p

パスワードを入力する

2. すべてのデータベースを表示する

show databases;

3.データベースの切り替え

データベースを使用します。

4. データベースのテーブル情報を表示する

show tables;

 5.データベースの作成

drop database 数据库名;

 6. データベースの削除

drop database 数据库名;

7.終了

出口

7.mysqlをアンインストールする

1.mysqlサーバーを停止します

systemctl stop mysql

2.mysqlパッケージを削除します

sudo apt-get remove --purge mysql-server mysql-client mysql-common

3.mysql関連ファイルがまだあるかどうかを確認します

whereis mysql

4. 上記ディレクトリが存在する場合は、一つずつ削除してください。

5. 残った依存関係をクリーンアップする

sudo apt-get autoremove

 6. システムにインストールされている「mysql」関連パッケージをリストします。

sudo dpkg -l | grep mysql

7. 見つかったら、コマンドを使用して mysql 関連のソフトウェア パッケージを削除します。

sudo apt-get remove --purge mysql相关软件包 

おすすめ

転載: blog.csdn.net/m0_52985087/article/details/132477049