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;