linuxインストールmysql 8.0.19詳細手順と問題解決方法


最近テンセントクラウドサーバーを買いました。環境を作ります。
このノートは、システムにmysqlが搭載されていないクリーンシステムに初めて搭載されたmysqlです。自分でインストールディレクトリを指定して、データファイルディレクトリを指定します。
linuxシステムバージョン:CentOS 7.3 64ビット
インストール元ファイルバージョン:mysql-5..21-linux-glibc 2.12-x 86_64.tar.gz
mysqlインストール位置:/ソフトウェア/mysql
データベースファイルのデータ位置:/data/mysql
注:混淆を防止していません。ここでは絶対パスでコマンドを実行します。
        文書の内容の中の葃を除いて、ここにあるすべての菗はlinux命令です。
>mysqlはmysqlの命令です。
ステップ:
1、ルートディレクトリの下でフォルダソフトとデータベースデータファイル/data/mysqlを作成します。

#mkdir /software/
#mkdir /data/mysql
2、mysql-8.11 9-linux-glibc 2.12-x 86_をアップロードします。64.tar.xzファイルは/ソフトウェアの下にあります。
--------------
ここで私がダウンロードしたのはrouterとtestのmysql-8.11 9-linux-glibc 2.12-x 86_です。64.tarファイルなので、xzの解凍が多くなります。

--------------------
#cd /software/
#xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
#tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

3、解凍後のフォルダ名を変更する

#mv /software/mysql-8.0.19-linux-glibc2.12-x86_64/ /software/mysql

4、mysqlユーザーグループとmysqlユーザーを作成する

#groupadd mysql

#useradd -r -g mysql mysql

5、関連myqlユーザーはmysqlユーザーグループにいます。

#chown -R mysql:mysql /software/mysql/
#chown -R mysql:mysql /data/mysql/
#chown -R mysql /software/mysql/
#chown -R mysql /data/mysql

6、mysqlインストールフォルダmysql/の権限を変更する#chmod -R 755 /software/mysql/7、libaio依頼のカバンを設置して、システムはこの依存カバンを持っていますので、インストールする必要はありませんが、自分の依存カバンは間違いがあります。
リバオ依存のカバンを暗転するかどうかを調べます。#yum search libaioインストールしていない場合は、次のコマンドでインストールできます。#yum install libaio8、初期化mysqlコマンド

#cd /software/mysql/bin
#./mysqld --user=mysql --basedir=/software/mysql --datadir=/data/mysql --initialize
上のコマンドを実行する時は、特に行の内容に注意してください。  
[Note]A temporary password is generated for root@localhost:o*s33751;gqh)F 4 Ck
root@localhost:後ろはmysqlデータベースに登録された臨時パスワードです。各人がインストールして生成した臨時パスワードは違います。
初期化時報が間違っていたら、次のようになります。
error while loading shared libraries:libnuma.so.1:cannot open shared objec
libnumaは32桁で設置されていますので、64桁が必要です。次の文を実行すれば解決できます。#yum install numactl.x86_64実行後、再度mysqlコマンドを初期化します。
9、mysqlサービスを開始する# sh /software/mysql/support-files/mysql.server start上でmysqlサービスコマンドを起動するとエラーが発生します。mysqlの配置ファイルを修正していないので、エラー内容は大体以下の通りです。
./support-files/mysql.server:line 239:my_printdefaults:command not found
./support-files/mysql.server:line 259:cd:/usr/local/mysql:No such file or directory
Starting MySQL ERROR!Couldn't find MySQL server(/usr/local/mysql/bin/mysqld_safe
10、Mysqlプロファイルを修正する#vim /software/mysql/support-files/mysql.server変更前

if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z "$datadir"
then
datadir=/usr/local/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
修正後

if test -z "$basedir"
then
basedir=/software/mysql
bindir=/software/mysql/bin
if test -z "$datadir"
then
datadir=/data/mysql
fi
sbindir=/software/mysql/bin
libexecdir=/software/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
終了を保存

#cp /software/mysql/support-files/mysql.server /etc/init.d/mysqld

#chmod 755 /etc/init.d/mysqld
11、my.cnfファイルを修正する#vi /etc/my.cnf以下の内容をコピーして現在のmy.cnfファイルの内容を置き換える。

[client]
no-beep
socket =/software/mysql/mysql.sock
# pipe
# socket=0.0
port=3306
[mysql]
#   utf8  UTF8MB3,       UTF8MB4,     
default-character-set=UTF8MB4
[mysqld]
basedir=/software/mysql
datadir=/data/mysql
port=3306
pid-file=/software/mysql/mysqld.pid
#skip-grant-tables
skip-name-resolve
socket = /software/mysql/mysql.sock
character-set-server=utf8
default-storage-engine=INNODB
explicit_defaults_for_timestamp = true
# Server Id.
server-id=1
max_connections=2000
#query_cache_size 8.0      ,   
#query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
#               。             
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_data_home_dir = /data/mysql
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=128M
max_allowed_packet=1024M
max_connect_errors=2000
open_files_limit=4161
#query_cache_type 8.0      ,   
#query_cache_type=0
sort_buffer_size=32M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
#          ,          ,   8M
bulk_insert_buffer_size = 64M
interactive_timeout = 120
wait_timeout = 120
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
終了を保存
12、mysqlを起動する#/etc/init.d/mysqld start新しいバージョンのインストールパッケージはエラーが発生します。エラーの内容は以下の通りです。
Starting MySQL.ロギングto'/data/mysql/SZY.err'
2018-07-02 T 10:09:03.779928 Z mysqld_safe The file/usr/local/mysql/bin/mysqld
does not exist or is not executable.Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
ERRORThe server quit without udating PID file(/Software/mysql/mysqld.pid)
新しいバージョンのmysqlが安全にインストールされているので、パッケージは承認/usr/local/mysqlというパスです。
解決策:
方法1、ソフト接続の確立

#cd /usr/local/mysql
#ln -s /sofware/mysql/bin/myslqd mysqld
方法2、mysqldを修正する。safe文書(強迫症の学生がこれを勧めています。これを使っています。)# vim /software/mysql/bin/mysqld_safeすべての/usr/local/mysqlを/ソフトウェア/mysqlに変更します。
終了を保存しますこの書類を拷問してから修正して交換してもいいです。
13、登録mysql
ここに登録できません。ディーニーに登録されました。このようなエラーがあります。
ERROR 1045(28000):Access denied for user 'root'@'local host'(using password:NO)。
https://cloud.tencent.com/developer/article/1188636を参照してください
この操作に変更:
1.mysqlデータベースを停止する/etc/init.d/mysqld stop (または直接キルル-9[PID]  殺しプロセス!)
2.次のコマンドを実行しますmysqld_safe --user=mysql --skip-grant-tables --skip-networking &3.rootを使ってmysqlデータベースに登録するmysql -u root mysql4.rootパスワードを更新する
最新のMySQLは以下のSQLを採用してください。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
5.パーミッションの更新mysql> FLUSH PRIVILEGES;6.mysqlを脱退する
mysql>quit
7.Msqlを再起動する/etc/init.d/mysqld restart8.rootユーザーを使ってmysqlを再登録する

mysql -uroot -p
 Enter password: <       newpassword>
---------------------------------------------------------------------------------------------------------------------------
#/software/mysql/bin/mysql -u root Cp
14、臨時パスワードを入力します。臨時パスワードは第8条root@localhost:後の内容です。
15、mysqlの登録パスワードを修正する

>mysql set password=password('root');
>mysql grant all privileges on *.* to root@'%' identified by 'root';
>mysql flush privileges;
16、完了、この時mysqlの登録名root  ログインパスワード
締め括りをつける
ここで、linuxインストールmysql 8.0.19の詳細な手順と問題解決方法についての文章を紹介します。これに関連して、linuxインストールmysql 8.0.19の内容は以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。