mysql 5.7.13 安裝配置方法(linux)-後期部分運維 mysql 5.7.13 安裝配置方法圖文教程(linux)

mysql 5.7.13 安裝配置方法圖文教程(linux)html

學習了:https://www.cnblogs.com/zhao1949/p/5947938.htmlmysql

/usr/local/mysql是把安裝文件拷貝過去的;linux

啓動mysql的時候,出現/usr/bin/mysql沒有的問題,居然直接拷貝過去一個;sql

增長 groupadd mysql,user -g就是能夠建立用戶組數據庫

須要修改redolog、undolog文件夾位置;修改其文件夾權限爲mysql的;ide

須要手動建立redolog文件夾,並且指定爲mysql用戶全部;才能夠正常啓動mysql;innodb不會本身建立文件夾;post

修改innodb_undo_tablespaces = 0學習

 登錄不了,還須要去掉密碼登錄:https://blog.csdn.net/learner_lps/article/details/62887343ui

 還須要刷一下root的密碼 set password=password('root');   https://jingyan.baidu.com/article/7f41ecec32ac01593d095cb4.htmlurl

cd /usr/local 
tar -zxvf mysql-xxx.tar.gz
mv mysql-xxx mysql
mkdir -p /data/mysql
mdir /data/log
groupadd mysql # 仍是要建立用戶組
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
chown -R mysql:mysql /data # 須要把/data的目錄也修改成mysql擁有,不然仍是不能正常建立;
chown -R mysql:mysql /usr/local/mysql
vi /etc/profile # 將/usr/local/mysql/bin 放入到PATH中
source /etc/profile bin
/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# 注意記錄臨時密碼,若是沒有顯示,在log中查找
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# --initialize-insecure 生成空密碼
# basedir是基礎目錄,是原來的gz程序解壓以後的目錄,datadir是存數據用的; bin
/mysql_ssl_rsa_setup --datadir=/data/mysql vi /etc/my.cnf 在其中指定 innodb_log_group_home_dir=/data/log/mysql/redolog/ innodb_undo_direcotry=/data/log/mysql/undolog/
# 注意手動建立這些文件夾,而且chown到mysql用戶,還有一個/data/log/mysql/mysqld.log文件,也須要手動建立而後chown給mysql
mkdir /data/log/mysql
mkdir /data/log/mysql/redolog
mkdir /data/log/mysql/undolog
touch /data/log/mysql/mysqld.log
chown -R mysql:mysql /data/log
vi /etc/init.d/mysql bin/mysqld_safe --user=mysql & #啓動mysql bin/mysql --user=root -ppassword #進入mysql set password=password('root'); #修改密碼 grant all privileges on *.* to 'root'@'%' identified by 'root'; #建立遠程root鏈接 flush privileges; \q #退出mysql vi /etc/profile export PATH=/usr/local/mysql/bin:$PATH source /etc/profile chmod 755 /etc/init.d/mysql chkconfig --add mysql chkconfig --level mysql on

磁盤滿了,而後kill掉進程以後就沒法正常啓動了;

1,刪除了一些文件,就沒法正常啓動數據庫了;
2,使用bin/mysqld --initialize --user=mysql --basedir=/var/local/mysql --datadir=/data/mysql的時候提示data文件夾不爲空,清空之;
3,從新建立數據庫以後,沒有提示密碼是什麼,在/data/mysql/mysqld.log中也沒有找到;
4,發現不知道密碼沒法中止,直接kill掉了;
5,在/etc/my.cnf的[mysqld]中增長
skip-grant-tables
而後啓動之;
6,mysql  #進入數據庫
mysql> use mysql
mysql>update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
mysql>update user set plugin="mysql_native_password"; 
mysql>flush privileges;
mysql>quit;
7,感受操做以後仍是有問題;
進行修改:
set password=password('root');
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
\q
8,關閉數據庫
bin/mysqladmin -uroot -proot shutdown

以後建立數據庫,導入數據;

發現硬盤空間不夠,學習:https://blog.csdn.net/qq_34924407/article/details/80556557

mysql
mysql>reset master;
可是這個沒有效果,只有0行受影響;
修改 /etc/my.conf
expire_log_days=1;
禁用日誌:
#log-bin=mysql-bin
#binlog_format=mixed

 mysql5.7安裝遇到的問題總結,持續更新:http://www.javashuo.com/article/p-knhfnbyz-hb.html

建立數據庫,導入數據

mysql -uroot -proot
create database db01 default charset utf8 collate utf8_general_ci;
create database db02 default charset utf8 collate utf8_general_ci;
use db01;
source /usr/local/mysql/db01.sql
use db02;
source /usr/local/mysql/db02.sql
數據庫導出:
./bin/mysqldump -uroot -proot -h192.168.0.100 db01 > db01.txt

數據庫過了幾天數據量較大,刪除記錄以後空間仍是不會釋放,

學習了:http://blog.okbase.net/haobao/archive/1213.html

cd /usr/local/mysql
mysqldump -q -uroot -proot --add-drop-table --all-databases > back0728.sql  --備份數據庫
mysqladmin -uroot -proot shutdown --關閉數據庫
cd /data/mysql
rm -f ibdata1 --刪除innodb的索引等文件
rm -f mysql-bin.*
rm -rf db01  --刪除數據庫db01的文件
rm -rf db02  --刪除數據庫db02的文件
cd /data/log/mysql/redolog
rm -f ib*  --刪除全部redolog,不刪啓動不了數據庫
nohup mysqld_safe --user=mysql & -- 啓動數據庫
mysql -uroot -proot -- 登錄mysql
source /usr/local/mysql/back0728.sql -- 恢復數據庫備份

沒有執行

[mysqld]下增長下面配置
innodb_file_per_table=1

由於查的時候

show variables like '%per_table%'
innodb_file_per_table已是ON;

整理1:

# 建立以下目錄: mkdir -p 級聯建立
/data/mysql
/data/log/mysql/mysqld.log
				/redolog
				/undolog
/usr/local/mysql
/etc/my.cnf
/etc/init.d/mysql
# 解壓文件/usr/local/mysql,建立用戶,修改目錄所屬權限,安裝啓動,設置path
bin/mysqld --initialize --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
bin/mysqld_safe --user=mysql &
# 修改密碼,因爲skip-grant-tables,並且如今建立的也沒有密碼
mysql -uroot -p # 直接登陸
>use mysql
>update mysql.user set authentication_string=password('root') where user='root';
>update user set plugin='mysql_native_password'; # 可能不執行
>flush privileges;
>\q
再一次登陸
mysql -uroot -proot
>set password=password('root');
>grant all privileges on *.* to 'root'@'%' identified by 'root';
>flush privileges;
>\q

整理2,官網安裝步驟:

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html 

注意selinux權限問題:https://my.oschina.net/jathon/blog/1613896

ibdata1文件過大刪除過程:

學習了:https://www.cnblogs.com/alibai/p/3650416.html 使用了第三種方法

# 導出全部數據
/usr/bin/mysqldump ––extended-insert ––all-databases ––add-drop-database ––disable-keys ––flush-privileges ––quick ––routines ––triggers > all-databases.sql
mysqladmin -uroot -proot shutdown
rm -rf /data/mysql/ib*  # 刪除大文件
rm -rf /data/log/redolog/*  # 刪除日誌文件,不然啓動不了
rm -rf /data/mysql/db01*  # 刪除數據庫文件夾,不然啓動後就沒有表了
nohup mysqld_safe --user=mysql &  # 啓動數據庫
mysql -uroot -proot  # 登錄數據庫
set foreign_key_checks=0;
source all-databases.sql;
set foreign_key_checks=1;

修改密碼:

ALTER USER 'root'@'%' identified by 'newpass';
或者 指定能夠訪問的IP地址,多建立幾個用戶,指定固定的IP地址;

新建用戶:

學習了:https://www.cnblogs.com/sos-blue/p/6852945.html

create user 'pig'@'%' identified by 'pig';
grant all on *.* to 'pig'@'%';還能夠改成一句:grant all on *.* to 'pig'@'%' identified by 'pig';添加grant權限:grant all on *.* to 'pig'@'%' identified by 'pig' with grant option;刪除用戶:drop user pig; 這個是指 drop user pig@'%';drop user 'pig'@'localhost'; 須要指定localhost;
相關文章
相關標籤/搜索