日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

重新安装mysql5.7.21_linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决

發(fā)布時(shí)間:2024/4/18 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重新安装mysql5.7.21_linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在安裝過(guò)程中所遇到的問(wèn)題有:

1、my-default.cnf文件找不到

2、mysql啟動(dòng)報(bào)錯(cuò)

3、mysql臨時(shí)密碼無(wú)法登錄

安裝環(huán)境centos 6.0

下載數(shù)據(jù)庫(kù):

[root@CLanguage src]# pwd

/usr/local/src #下載文件存放路徑(個(gè)人原因,可隨意。)

[root@CLanguage src]#

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

[root@CLanguage src]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz #解壓

[root@CLanguage src]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

#更改文件名

卸載舊版本:

[root@CLanguage src]# rpm -qa |grep mysql

mysql-5.1.47-4.el6.x86_64

mysql-libs-5.1.47-4.el6.x86_64

mysql-devel-5.1.47-4.el6.x86_64

[root@CLanguage src]# rpm -e --nodeps mysql-5.1.47-4.el6.x86_64

[root@CLanguage src]# rpm -e --nodeps mysql-libs-5.1.47-4.el6.x86_64

[root@CLanguage src]# rpm -e --nodeps mysql-devel-5.1.47-4.el6.x86_64

[root@CLanguage src]# rpm -qa |grep mysql

[root@CLanguage src]#

創(chuàng)建數(shù)據(jù)庫(kù)目錄以及用戶和組:

[root@CLanguage src]#mkdir /data

[root@CLanguage src]#mkdir /data/mysqldata #數(shù)據(jù)存放目錄

[root@CLanguage src]#groupadd mysql #創(chuàng)建mysql組

[root@CLanguage src]#useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/src/mysql #添加mysql用戶使其shell模式為nologin(禁止登錄),

[root@CLanguage mysql]# chown -R mysql .

[root@CLanguage mysql]# chgrp -R mysql .

[root@CLanguage mysql]#chown -R mysql /data/mysqldata

安裝前先安裝numactl組件,或者會(huì)報(bào)錯(cuò):bin/mysqld: error while loading shared libraries: libnuma.so.1

[root@CLanguage mysql]# yum -y install numactl

(可以使用本地CD yum源進(jìn)行安裝,前提是搭建好后。)

配置參數(shù):

[root@CLanguage src]# cd mysql

[root@CLanguage mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysqldata/ #配置參數(shù)

2018-01-31T08:41:32.144065Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-01-31T08:41:34.501273Z 0 [Warning] InnoDB: New log files created, LSN=45790

2018-01-31T08:41:34.943351Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2018-01-31T08:41:35.016168Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 8b673fc1-0662-11e8-a70a-000c298536ba.

2018-01-31T08:41:35.021358Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2018-01-31T08:41:35.025019Z 1 [Note] A temporary password is generated for root@localhost: dhaMrqAVZ5-C {最后的root@localhost:后面為臨時(shí)密碼}

--basedir=/usr/local/src/mysql #mysql文件所在目錄

--datadir=/data/mysqldata/ #數(shù)據(jù)庫(kù)存放目錄

[root@CLanguage mysql]# bin/mysql_ssl_rsa_setup --datadir=/data/mysqldata/

#配置參數(shù)

修改系統(tǒng)配置文件:

在support-files目錄未發(fā)現(xiàn)my-default.cnf文件,所以只能手動(dòng)創(chuàng)建了。

[root@CLanguage support-files]# vim /etc/my.cnf (創(chuàng)建my.cnf,將以下代碼復(fù)制進(jìn)去,記得下面幾個(gè)目錄需要自己手動(dòng)修改為自己定義的目錄)

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/usr/local/src/mysql #文件存放目錄

datadir=/data/mysqldata/ #數(shù)據(jù)庫(kù)存放目錄

socket=/tmp/mysql.sock #以上面socket值要一致

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections=5000

default-time_zone = '+8:00'

(這里參數(shù)不全,可以去其他地方拷貝一個(gè)my.cnf文件)

或者拷貝以下內(nèi)容:

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 一般配置選項(xiàng)

basedir = /usr/local/src/mysql #需修改

datadir = /data/mysqldata #需修改

port = 3306

socket = /var/run/mysqld/mysqld.sock

character-set-server=utf8

back_log = 300

max_connections = 3000

max_connect_errors = 50

table_open_cache = 4096

max_allowed_packet = 32M

#binlog_cache_size = 4M

max_heap_table_size = 128M

read_rnd_buffer_size = 16M

sort_buffer_size = 16M

join_buffer_size = 16M

thread_cache_size = 16

query_cache_size = 128M

query_cache_limit = 4M

ft_min_word_len = 8

thread_stack = 512K

transaction_isolation = REPEATABLE-READ

tmp_table_size = 128M

#log-bin=mysql-bin

long_query_time = 6

server_id=1

innodb_buffer_pool_size = 1G

innodb_thread_concurrency = 16

innodb_log_buffer_size = 16M

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table = on

[mysqldump]

quick

max_allowed_packet = 32M

[mysql]

no-auto-rehash

default-character-set=utf8

safe-updates

[myisamchk]

key_buffer = 16M

sort_buffer_size = 16M

read_buffer = 8M

write_buffer = 8M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

open-files-limit = 8192

[root@CLanguage support-files]# cp mysql.server /etc/init.d/mysqld

[root@CLanguage support-files]# vim /etc/init.d/mysqld

修改/etc/init.d/mysqld在basedir和datadir后填入文件存放路徑和數(shù)據(jù)存放路徑

啟動(dòng)mysql:

[root@CLanguage mysql]# bin/mysqld_safe --user=mysql & #檢測(cè)

[root@CLanguage run]# /etc/init.d/mysql start (這里會(huì)報(bào)錯(cuò),因?yàn)檎也坏絤ysqld文件夾,所以要?jiǎng)?chuàng)建并賦予權(quán)限。)

[root@CLanguage mysql]# cd /var/run/

[root@CLanguage run]# mkdir mysqld

[root@CLanguage run]# chown -R mysql mysqld

[root@CLanguage run]# chgrp -R mysql mysqld

[root@CLanguage run]# /etc/init.d/mysqld start

Starting MySQL... [ OK ]

登錄mysql已經(jīng)修改密碼:

如果使用bin/mysql -uroot -p無(wú)法登錄時(shí),可以使用以下辦法進(jìn)行密碼重設(shè):

修改/etc/my.cnf文件

在[mysqld]下面添加“skip-grant-tables”

(skip-grant-tables命令為跳過(guò)驗(yàn)證,直接登錄。個(gè)人認(rèn)為好比linux的單用戶模式,來(lái)進(jìn)行mysql的密碼修改。)

重啟mysql

在命令行中輸入bin/mysql進(jìn)行登錄(直接輸入mysql命令可能提示找不到命令。因?yàn)閜ath路徑未設(shè)定,后面添加path路徑說(shuō)明。)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

mysql> USE mysql; #選擇數(shù)據(jù)庫(kù)

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set authentication_string=password('123abc') where user='root';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Rows matched: 1 Changed: 0 Warnings: 1

mysql> flush privileges; #刷新權(quán)限

Query OK, 0 rows affected (0.00 sec)

mysql> quit;

Bye

重新登錄mysql

[root@CLanguage run]#mysql -uroot -p123abc

修改完成后,注銷my.cnf中的“skip-grant-tables”

修改環(huán)境變量:

將mysql的bin路徑添加到/etc/profile

[root@CLanguage mysql]# vim /etc/profile

添加:

export PATH=/usr/local/src/mysql/bin:$PATH

[root@CLanguage mysql]# source /etc/profile

配置mysql自動(dòng)啟動(dòng)

[root@CLanguage mysql]#chmod 755 /etc/init.d/mysqld

[root@CLanguage mysql]#chkconfig --add mysqld

[root@CLanguage mysql]#chkconfig --level 345 mysqld on

在使用過(guò)程中,發(fā)現(xiàn)重啟電腦,mysql無(wú)法啟動(dòng)。報(bào)PID文件找不到,存放PID文件的路徑為:/var/run/mysqld下面,每次重啟完在/var/run/目錄中都找不到mysqld文件夾,都需要重新創(chuàng)建一次mysqld文件夾和修改文件夾的所屬用戶和組,才能正常使用。

解決方法

因?yàn)橹?var/run/mysqld 目錄每次重啟后都需要手動(dòng)去創(chuàng)建,是因?yàn)?var/run/目錄下建立文件夾是在內(nèi)存中,故每次重啟后內(nèi)存被清空導(dǎo)致/var/run/mysqld 也被清除,從而導(dǎo)致無(wú)法啟動(dòng)mysql。

創(chuàng)建一個(gè)mysqld.pid文件存放目錄,重新修改文件夾所屬用戶和組。修改my.cnf文件,找到pid-file=/var/run/mysqld/mysqld.pid將mysqld.pid存放路徑修改到其他存放位置。具體操作如下:

重新啟動(dòng)mysql正常運(yùn)行。

總結(jié)

以上是生活随笔為你收集整理的重新安装mysql5.7.21_linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。