Mysql安裝解除安裝與啟停
一、下載
官網:
rpm : mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
二進位制:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
原始碼:mysql-boost-5.7.33.tar.gz
建議下載使用ga 版本
二、安裝
rpm 檔案安裝
rpm 安裝方式可控性差,不推薦使用該方法。
1. 建立mysql 使用者、組
>groupadd mysql
>useradd -g mysql mysql
2. 安裝rpm 包
上傳rpm 包
mysql-community-common-5.7.26-1.el7.x86_64.rpm
mysql-community-libs-5.7.26-1.el7.x86_64.rpm
mysql-community-client-5.7.26-1.el7.x86_64.rpm
mysql-community-server-5.7.26-1.el7.x86_64.rpm
按如下順序安裝
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
3. 修改目錄屬主
chown mysql:mysql /var/lib/mysql -R
4. 啟動並檢視狀態
service mysqld start
service mysqld status
5. 修改root 初始密碼
可以在/var/log/mysqld.log 查詢臨時初始密碼
/var/log/mysqld.log
2021-04-08T02:41:43.315572Z 1 [Note] A temporary password is generated for root@localhost: .uxfpy2!FkkK
重置密碼
>mysql -uroot -p'.uxfpy2!FkkK'
mysql> set password=password('Lin_xueguo1');
/etc/my.cnf 增加配置 skip-grant-tables ,啟用無密碼登入
重啟mysql 服務並登入
service mysqld restart
修改root 密碼
mysql>use mysql
mysql>select host,user,authentication_string from user;
mysql>update user set host='%',authentication_string=password('123456') where user='root';
或者使用
mysql>alter user 'root'@'%' identified by '123456';
重新整理許可權並生效
mysql>flush privileges;
任何主機透過使用者root 和密碼 123456 連線到 mysql 伺服器,並授權所有許可權
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;
6. 修改mysql 埠
/etc/my.cnf
port=13306
啟動報錯
4 月 08 11:09:32 lxgmc2 python[11571]: SELinux is preventing /usr/sbin/mysqld from name_bind access on the tcp_socket port 13306.
根據提示配置埠
semanage port -a -t mysqld_port_t -p tcp 13306
登入指定ip 、 port
mysql -uroot -P 13306 -h 192.168.247.189 -p
7. 重要目錄及檔案
目錄 目錄內容
/usr/bin 客戶端程式和指令碼
/usr/sbin mysqld 伺服器
/var/lib/mysql 日誌檔案,資料庫
/usr/include/mysql 包含( 頭 ) 檔案
/usr/lib/mysql 庫
/usr/share/doc/packages 文件
/usr/share/mysql 錯誤訊息和字符集檔案
/usr/share/sql-bench 基準程式
預設配置檔案目錄
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置檔案
/etc/my.cnf
8. 啟動指令碼管理
使用rpm 安裝 mysql ,系統預設會配置好 mysql 服務、開機自啟動、環境變數,無需人工處理。
二進位制安裝
1. 建立mysql 使用者
>groupadd mysql
>useradd -g mysql mysql
2. 上傳安裝介質
先檢查要安裝的Linux 伺服器 cglib 版本號,命令 strings /lib64/libc.so.6 | grep ^GLIBC ,檢視其是否有相應 glibc 版本
只有在系統列表中的cglib 才可以安裝,以免對不上還需要升級系統 cglib
3. 解壓到指定目錄
>tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /app/mysql
4. 目錄檔案規劃
目錄 目錄內容
/usr/bin 客戶端程式和指令碼
/usr/sbin mysqld 伺服器
/var/lib/mysql 日誌檔案,資料庫
/usr/include/mysql 包含( 頭 ) 檔案
/usr/lib/mysql 庫
/usr/share/doc/packages 文件
/usr/share/mysql 錯誤訊息和字符集檔案
/usr/share/sql-bench 基準程式
預設配置檔案目錄
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file= /var/lib/mysql/mysqld/mysqld.pid
5. 主目錄處理
[root@lxgmc2 app]# mv mysql-5.7.22-linux-glibc2.12-x86_64 /var/lib/mysql/
[root@lxgmc2 mysql]# mkdir data
[root@lxgmc2 mysql]# chown mysql:mysql /var/lib/mysql/ -R
6. 建立配置檔案及相關目錄
修改配置檔案:/etc/my.cnf ,配置不對的話 , 後面初始化不全 , 會拿不到預設密碼。
>vi /etc/my.cnf
[mysqld] basedir=/var/lib/mysql datadir=/var/lib/mysql/data port = 13306 socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/lib/mysql/mysqld/mysqld.pid sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' [client] default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysql] default-character-set=utf8 [mysqld] log-bin=mysql-bin binlog-format=ROW server_id=1 max_connections=1000 init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
建立配置檔案中的相關檔案並修改屬主
[root@lxgmc2 mysql]# touch /var/lib/mysql/mysql.sock
[root@lxgmc2 mysql]# mkdir -p /var/lib/mysql/mysqld/
[root@lxgmc2 mysql]# touch /var/lib/mysql/mysqld/mysqld.pid
[root@lxgmc2 mysql]# touch /var/log/mysqld.log
[root@lxgmc2 mysql]# chown mysql:mysql /var/log/mysqld.log
[root@lxgmc2 mysql]# chown mysql:mysql /var/lib/mysql -R
7. 安裝和初始化mysql
進入bin 目錄
[root@lxgmc2 bin]# cd /var/lib/mysql/bin
初始化資料庫
>./mysqld --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
8. 安全啟動mysql
[root@lxgmc2 bin]# ./mysqld_safe --user=mysql &
檢視是否啟動成功
[root@lxgmc2 bin]# ps -ef|grep mysql
臨時的root 密碼在 /var/log/mysqld.log 檔案中可以找到,需要儘快修改
9. 登入修改root 密碼
[root@lxgmc2 support-files]# mysql -uroot -p
重置密碼
mysql> set password=password('Lin_xueguo1');
/etc/my.cnf 增加配置 skip-grant-tables ,啟用無密碼登入
重啟mysql 服務並登入
service mysqld restart
修改root 密碼
mysql>use mysql
mysql>select host,user,authentication_string from user;
mysql>update user set host='%',authentication_string=password('123456') where user='root';
或者使用
mysql>alter user 'root'@'%' identified by '123456';
重新整理許可權並生效
mysql>flush privileges;
任何主機透過使用者root 和密碼 123456 連線到 mysql 伺服器,並授權所有許可權
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;
注意:
配置[mysqld]socket=/var/lib/mysql/mysql.sock 不是預設的 /tmp/mysql.sock ,則需要在 [client] 中也配置 socket=/var/lib/mysql/mysql.sock ,否則在使用命令連線 mysql 的時候需要加上引數 -S /var/lib/mysql/mysql.sock
10. 啟動指令碼管理
新增mysql/bin 到使用者環境變數
設定開機自啟動
目錄不是預設的路徑,需要手動配置mysql.server
[root@lxgmc2 support-files]# vi /var/lib/mysql/support-files/mysql.server
複製到 /etc/init.d
[root@lxgmc2 support-files]# cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysql -a
新增服務配置
檢視mysql 服務是否在服務配置中
chkconfig --list mysql
新增到chkconfig
驗證
原始碼安裝
1. 建立mysql 使用者
>groupadd mysql
>useradd -g mysql mysql
2. 上傳安裝介質
使用包含 boost 庫的版本 mysql-boost-5.7.33.tar.gz
3. 解壓
tar -zxvf mysql-boost-5.7.33.tar.gz -C /app/mysql/
4. 目錄檔案規劃
目錄 目錄內容
/usr/bin 客戶端程式和指令碼
/usr/sbin mysqld 伺服器
/var/lib/mysql 日誌檔案,資料庫
/usr/include/mysql 包含( 頭 ) 檔案
/usr/lib/mysql 庫
/usr/share/doc/packages 文件
/usr/share/mysql 錯誤訊息和字符集檔案
/usr/share/sql-bench 基準程式
預設配置檔案目錄
Basedir=/var/lib/mysql
datadir=/var/lib/mysql/data
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file= /var/lib/mysql/mysqld/mysqld.pid
5. 主目錄處理
[root@lxgmc2 mysql]# mkdir /var/lib/mysql/data -p
[root@lxgmc2 mysql]# chown mysql:mysql /var/lib/mysql/ -R
6. 建立配置檔案及相關目錄
修改配置檔案:/etc/my.cnf ,配置不對的話 , 後面初始化不全 , 會拿不到預設密碼。
>vi /etc/my.cnf
[mysqld] basedir=/var/lib/mysql datadir=/var/lib/mysql/data port = 13306 socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/lib/mysql/mysqld/mysqld.pid sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' [client] default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysql] default-character-set=utf8 [mysqld] log-bin=mysql-bin binlog-format=ROW server_id=1 max_connections=1000 init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
建立配置檔案中的相關檔案並修改屬主
[root@lxgmc2 mysql]# touch /var/lib/mysql/mysql.sock
[root@lxgmc2 mysql]# mkdir -p /var/lib/mysql/mysqld/
[root@lxgmc2 mysql]# touch /var/lib/mysql/mysqld/mysqld.pid
[root@lxgmc2 mysql]# touch /var/log/mysqld.log
[root@lxgmc2 mysql]# chown mysql:mysql /var/log/mysqld.log
[root@lxgmc2 mysql]# chown mysql:mysql /var/lib/mysql -R
7. 編譯安裝mysql -5.7.33
安裝編譯軟體和依賴
yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm
yum install -y ncurses*
yum install gcc gcc-c++ -y
yum install -y bison
編譯
>cd /app/mysql/mysql-5.7.3
#配置中的目錄根據規劃設定 #預編譯 >cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \ ---mysql安裝主目錄 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ ---連通訊檔案位置 -DDEFAULT_CHARSET=utf8 \ ---預設字元 -DDEFAULT_COLLATION=utf8_general_ci \ ---檢驗字元 -DMYSQL_DATADIR=/var/lib/mysql/data \ ---mysql資料存放目錄 -DSYSCONFDIR=/etc/my.cnf \ ---mysql配置檔案 -DWITH_MYISAM_STORAGE_ENGINE=1 \ ---支援MYIASM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ ---支援 INNODB引擎 -DWITH_PARTITION_STORAGE_ENGINE=1 \ ---支援安裝資料庫分割槽 -DENABLE_DEBUG_SYNC=0 \ -DENABLED_LOCAL_INFILE=1 \ ---允許從本地匯入資料 -DENABLED_PROFILING=1 \ -DMYSQL_TCP_PORT=13306 \ ---mysql埠 -DWITH_DEBUG=0 \ ---禁止除錯模式 -DWITH_SSL=yes \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=boost/boost_1_59_0 #編譯(耗時較長) >make && make install
完成安裝
8. 環境變數配置及啟動指令碼管理
新增mysql/bin 到使用者環境變數
設定開機自啟動
目錄不是預設的路徑,需要手動配置mysql.server
[root@lxgmc2 support-files]# vi /var/lib/mysql/support-files/mysql.server
複製到 /etc/init.d
[root@lxgmc2 support-files]# cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysql -a
新增服務配置
檢視mysql 服務是否在服務配置中
chkconfig --list mysql
新增到chkconfig
驗證 (mysql 初始化並開啟以後 )
9. 初始化mysql
初始化MySQL ,切記 --defaults-file=/etc/my.cnf 要放在引數的第一位,初始化資訊可以在 MySQL 的 errorlog 中檢視,並且在 errorlog 會生成一個 root 的隨機密碼,該隨機密碼僅僅為 root@localhost 使用者所有。
>m ysqld -- initialize -- basedir=/ var/lib /mysql datadir=/ var/lib /mysql/data -- user=mysql
10. 安全啟動mysql
[root@lxgmc2 bin]# ./mysqld_safe --user=mysql &
檢視是否啟動成功
[root@lxgmc2 bin]# ps -ef|grep mysql
臨時的root 密碼在 /var/log/mysqld.log 檔案中可以找到,需要儘快修改
11. 登入修改root 密碼
[root@lxgmc2 support-files]# mysql -uroot -p
重置密碼
mysql> set password=password('Lin_xueguo1');
/etc/my.cnf 增加配置 skip-grant-tables ,啟用無密碼登入
重啟mysql 服務並登入
service mysqld restart
修改root 密碼
mysql>use mysql
mysql>select host,user,authentication_string from user;
mysql>update user set host='%',authentication_string=password('123456') where user='root';
或者使用
mysql>alter user 'root'@'%' identified by '123456';
重新整理許可權並生效
mysql>flush privileges;
任何主機透過使用者root 和密碼 123456 連線到 mysql 伺服器,並授權所有許可權
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;
注意:
配置[mysqld]socket=/var/lib/mysql/mysql.sock 不是預設的 /tmp/mysql.sock ,則需要在 [client] 中也配置 socket=/var/lib/mysql/mysql.sock ,否則在使用命令連線 mysql 的時候需要加上引數 -S /var/lib/mysql/mysql.sock
三、解除安裝
rpm 安裝方式解除安裝
查包名:rpm -qa|grep -i mysql
刪除命令:rpm -e – nodeps 包名
yum 安裝方式解除安裝
1. 檢視已安裝的 mysql
命令:rpm -qa | grep -i mysql
2. 解除安裝 mysql
命令:yum remove mysql-community-server-5.6.36-2.el7.x86_64
檢視mysql 的其它依賴: rpm -qa | grep -i mysql
// 解除安裝依賴
yum remove mysql-libs
yum remove mysql-server
yum remove perl-DBD-MySQL
yum remove mysql
二進位制/ 原始碼安裝方式解除安裝
停服務並設定開機不自啟
systemctl stop mysqld
systemctl disable mysqld
搜尋相關配置檔案並刪除
find / -name mysql
刪除mysql 使用者
userdel mysql
四、啟動關閉
啟動
1. service mysql start
2. mysqld_safe [--defaults-file=/etc/my.cnf] --user=mysql &
3. mysqld [--defaults-file=/etc/my.cnf] --user=mysql &
4. /var/lib/mysql/support-files/mysql.server start
5. /etc/init.d/mysql start( 等同方法 4)
關閉
1. service mysql stop
2. /var/lib/mysql/support-files/mysql.server stop
3. /etc/init.d/mysql stop( 等同方法 2)
4. mysqladmin -uroot -p [-S /var/lib/mysql/mysql.sock] shutdown
5. mysql> shutdown; #above MySQL 5.7.9
五、資料庫管理
建立資料庫
方法1 :使用 CREATE DATABASE 語法建立
CREATE DATABASE [IF NOT EXISTS] < 資料庫名 > [[DEFAULT] CHARACTER SET < 字符集名 >] [[DEFAULT] COLLATE < 校對規則名 >];
例子:
mysql> create database lxgdb1;
方法2 :使用 mysqladmin 工具建立
mysqladmin -uroot -p create lxgdb2;
例子:
[root@lxgmc2 ~]# mysqladmin -uroot -p create lxgdb2
修改資料庫
使用ALTER DATABASE 語法
ALTER DATABASE [ 資料庫名 ] { [ DEFAULT ] CHARACTER SET < 字符集名 > |[ DEFAULT ] COLLATE < 校對規則名 >}
例子:
先使用show create dabase 語句檢視資料庫建立指令碼
mysql> show create database lxgdb1;
修改預設的字符集
mysql> alter database lxgdb1 CHARACTER SET gbk;
刪除資料庫
方法1 :使用 DROP DATABASE 語法
DROP DATABASE [ IF EXISTS ] < 資料庫名 >
例子:
mysql> drop database lxgdb1;
方法 2 :使用 mysqladmin 工具刪除
mysqladmin -u root -p drop lxgdb2
例子:
[root@lxgmc2 ~]# mysqladmin -uroot -p drop lxgdb2
Mysql 字符集
檢視字符集
mysql> show variables like '%char%';
修改字符集
如果存在不同的字符集,需要統一字符集,透過修改配置檔案重啟即可。()
>vi /etc/my.cnf
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation_server=utf8_general_ci
修改過的編碼只對之後建立的資料庫生效。
六、MySQL5.7 和以前版本不同點
初始化工具不同
MySQL5.6.xx 使用的是 mysql_install_db , MySQL5.7.6+ 官方推薦使用 mysqld – initialize 。
初始化資料庫不同
MySQL5.6.xx 初始化之後存在 mysql,information_schema,performance_schema,test 四個資料庫, MySQL5.7.6+ 初始化之後存在 mysql,information_schema,performance_schema,sys 四個資料庫。
初始化使用者不同
MySQL5.6.xx 初始化之後存在 root@localhost,root@'::1',root@'hostname',''@'localhost',''@'hostname' 五個使用者, MySQL5.7.6+ 初始化之後存在 mysql.sys,root@localhost 使用者
初始化root 密碼
MySQL5.6.xx 初始化之後 root 使用者密碼為空, MySQL5.7.6+ 初始化之後會為 root@localhost 使用者生成隨機密碼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31374736/viewspace-2790504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- solaris mysql 安裝 解除安裝MySql
- debian-mysql5.7安裝與解除安裝MySql
- MySQL:mysql5.7解壓版安裝與解除安裝MySql
- Oracle 安裝與解除安裝Oracle
- Linux安裝解除安裝MySQLLinuxMySql
- mysql安裝------RPM包安裝及解除安裝MySql
- Linux下安裝、解除安裝mysqlLinuxMySql
- Mac Redis安裝與解除安裝MacRedis
- JDK的安裝與解除安裝JDK
- ORACLE TEXT安裝與解除安裝Oracle
- mac解除安裝mysqlMacMySql
- Linux-Ubuntu-mysql-安裝&解除安裝LinuxUbuntuMySql
- PSU之解除安裝與安裝
- itm6安裝與解除安裝
- mysql安裝-----二進位制包安裝及解除安裝MySql
- Linux解除安裝MySQLLinuxMySql
- MySQL入門--解除安裝MySql
- 徹底解除安裝MySqlMySql
- MYSQL完全解除安裝方法MySql
- Mysql--所有版本安裝以及完全解除安裝MySql
- Linux下JDK安裝與解除安裝LinuxJDK
- rpm包安裝升級與解除安裝
- app的安裝與解除安裝測試點APP
- docker安裝及解除安裝Docker
- Ubuntu解除安裝和安裝Ubuntu
- JDK安裝和解除安裝JDK
- Linux下解除安裝MySQLLinuxMySql
- Linux 完全解除安裝mysqlLinuxMySql
- linux下mysql解除安裝LinuxMySql
- mysql 8.0.29 解除安裝問題MySql
- 安裝npm 解除安裝npm 安裝apidocNPMAPI
- Linux:11、ubuntu軟體安裝與解除安裝LinuxUbuntu
- oracle10g GC agent安裝與解除安裝OracleGC
- (轉)CentOS 下 rpm包與 yum 安裝與解除安裝CentOS
- cocoapods安裝/解除安裝/使用
- Ubuntu安裝和解除安裝mongodbUbuntuMongoDB
- [雲原生]Docker - 安裝&解除安裝Docker
- Redmine外掛的安裝與解除安裝,知識庫外掛安裝。