1.インストール
方法1:Docker経由でMySQLをインストールする
1.検索
docker search mysql
2.引っ張る
docker pull mysql
3.画像
docker images
4.マップされたポートの名前変更をインストールします
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
5.実行中のコンテナーを表示する
docker ps
これで完了です。データベースソフトウェアを使用して接続する
Dockerがmysqlをインストールすると、中国語の文字化けが表示されます。ここをクリックしてください。
方法2:ミラーリングを介してMySQLをインストールする
最初のステップ:ダウンロード
方法1:以下に示すように、ここをクリックしてダウンロードします。
方法2:インストールパッケージを配置するディレクトリで次のステートメントを実行します。
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
ステップ2:解凍して移動する
注:移動する必要はありませんが、以下の構成では指定されたファイルディレクトリがあり、Macへのmysqlのインストールもデフォルトで/ usr / localに配置されるため、以下の手順に従うのが最善です。
解凍:
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
モバイル:
mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/mysql
名前の変更(名前の変更とソフトリンク、2つのうち1つを選択)
①名前を変更:
mv mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
②ソフト接続コマンド:
ln -s mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
手順3:ユーザーを作成し、データディレクトリにアクセス許可を割り当てる
mysqlグループとユーザーを作成します。
groupadd mysql
useradd -r -g mysql mysql
mysqデータディレクトリを作成します(ルートディレクトリに戻ります)。
cd /
mkdir -p data
cd data/
mkdir -p mysql
権限を付与:
chown mysql:mysql -R /data/mysql
ステップ4:パラメーターを構成する
実施した:
vim /etc/my.cnf
次に、iを押して編集モードに入り、次のコンテンツをコピーします。
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/mysql/mysql-5.7.29/
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
# character config
character_set_server=utf8mb4
symbolic-links=0
編集後、escを押しながらshift +:input wqを押して保存し、終了します。
ステップ5:mysqlを初期化する
cd /usr/mysql/mysql-5.7.29/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/mysql/mysql-5.7.29/ --datadir=/data/mysql/ --user=mysql --initialize
次の問題が発生する可能性があります(発生しない場合は無視してください)。
解決策:これはnumactlですが、現時点ではCentosの場合は、yum -y install numactlを実行してこの問題を解決し、ubuntuでsudo apt-get install numactlを実行してください。次のように:
次に、上記のステートメントを実行して、実行が成功したことを確認します。
初期パスワードを確認してコピーします。
cat /data/mysql/mysql.err
ステップ6:mysqlを起動してrootパスワードを変更する
まず、mysql.serverを/etc/init.d/mysqlに配置します。
cp /usr/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysql
起動:
service mysqld start
次の問題が発生する可能性があります(発生しない場合は無視してください)。
理由:パスもパーミッションもないため、このパスが作成され、mysqlユーザーに次のように承認されます。
解決する!
開始するかどうかを確認します。
ps -ef|grep mysql
パスワードを変更します。
cd /usr/mysql/mysql-5.7.29/bin
./mysql -u root -p
パスワードを要求し、コピーしたパスワードを貼り付けます
次に、変更を実行して更新します
SET PASSWORD = PASSWORD('**********');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
これで終わりです。mysqlを閉じたい場合は、サービスmysqld stopを実行します。
この時点でリモート接続を使用すると、接続できないことがわかります...
ここでは主に次の3つのコマンドが実行されます(最初にデータベースにログイン)。
use mysql # 访问mysql库
update user set host = '%' where user = 'root'; # 使root能再任何host访问
FLUSH PRIVILEGES; # 刷新
解決する:
予防:
上記の手順に権限の問題がある場合は、次のコマンドを実行して自動起動をオンにすることができます。
cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
また、システムにインストール前にMariadbがある場合は、アンインストールします。
最初のコマンドを使用して表示し、ある場合は、次のコマンドを使用してアンインストールします。
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
さらに、5.7のインストール中に表示されるものが解決されない場合は、システムがインストール前にクリーンでなかった可能性があり、残りのmysqlファイルをアンインストールする必要があります。
MySQLを起動時に開始するように設定する
1.サービスファイルをinit.dにコピーし、名前をmysqldに変更します。
cp /usr/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysqld
2.実行権限を付与する
chmod +x /etc/init.d/mysqld
3.サービスを追加
chkconfig --add mysqld
4.サービス一覧を表示する
chkconfig --list
mysqlサービスが表示され、3、4、および5がすべてオンの場合は成功し、オフの場合は次のように入力します。
chkconfig --level 345 mysqld on
5.再起動して有効にします
reboot
2、アンインストール
1. mysqlの現在のインストールを確認します
rpm -qa | grep -i mysql
2. mysqlサービスを停止し、以前にインストールしたmysqlを削除します
削除コマンド:rpm -ev 包名
依存パッケージエラーが表示された場合は、次のコマンドを使用してみてください。rpm -ev 包名 –-nodeps
エラーが発生した場合はerror: %preun(xxxxxx) scriptlet failed, exit status 1
、次のコマンドを試してください。rpm -e --noscripts 包名
3.以前のバージョンのmysqlのディレクトリを見つけ、古いバージョンのmysqlのファイルとライブラリを削除します。
find / -name mysql
次のコマンドを使用して、指定したディレクトリを削除します。rm -rf 路径
注: /etc/my.cnfはアンインストール後に削除されません。手動で削除する必要があります。
rm -rf /etc/my.cnf
4.マシンにmysqlがインストールされているかどうかを再度確認します
rpm -qa | grep -i mysql
結果がない場合、mysqlは完全にアンインストールされています。
記事の外に問題がある場合は、著者に非公開で書き込むことができます。