centos7 安裝mysql57

個人經驗,直奔主題,centos7採用yum安裝mysql-server 避免了各種人爲的處理依賴。
1,下載官方Yum源:http://dev.mysql.com/downloads/repo/

# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

直接將mysql*.rpm文件下載下來之後執行下列操作

sudo yum localinstall mysql57-community-release-el7-*.noarch.rpm

完成上面兩步之後直接進入下一步

sudo yum install mysql-server

2,更新/etc/my.cnf或/etc/mysql/my.cnf
因爲更新配置文件可能會依照特定需求修改mysql數據文件及日誌文件等存儲目錄,爲確保mysql用戶對新目錄擁有相應的權限,可在更新配置文件前將原mysql擁有目錄複製至新目錄:

[mysqld]
datadir=/home/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-name-resolve
skip-grant-tables 
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0

transaction-isolation=READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

key_buffer              = 16M
key_buffer_size         = 32M
max_allowed_packet      = 16M
thread_stack            = 256K
thread_cache_size       = 64
query_cache_limit       = 8M
query_cache_size        = 64M
query_cache_type        = 1
# Important: see Configuring the Databases and Setting max_connections
max_connections         = 750

# log-bin should be on a disk with enough free space
#log-bin=/x/home/mysql/logs/binary/mysql_binary_log

# For MySQL version 5.1.8 or later. Comment out binlog_format for older versions.
#binlog_format           = mixed

read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size          = 64M
innodb_buffer_pool_size         = 4G
innodb_thread_concurrency       = 8
innodb_flush_method             = O_DIRECT
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2.3安裝MySQL JDBC Connector
sudo yum install mysql-connector-java
2.4啓動Mysql
sudo service mysqld start
2.5設置Mysql的root密碼,初始密碼爲空(非必須)rootcentos
$ sudo /usr/bin/mysql_secure_installation
[…]
Enter current password for root (enter for none):
OK, successfully used password, moving on…
[…]
Set root password? [Y/n] y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[…]
Disallow root login remotely? [Y/n] N
[…]
Remove test database and access to it [Y/n] Y
[…]
Reload privilege tables now? [Y/n] Y
All done!

2.6設置Mysql爲開機自動啓動
sudo/sbin/chkconfigmysqldon sudo /sbin/chkconfig –list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.7爲Cloudera Manager創建MySQL Databases(本人做集羣用)
(1)用root登陸Mysql:$ mysql -u root –p
(2)腳本
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘amon_password’;
create database smon DEFAULT CHARACTER SET utf8;
grant all on smon.* TO ‘smon’@’%’ IDENTIFIED BY ‘smon_password’;
create database rman DEFAULT CHARACTER SET utf8;
grant all on rman.* TO ‘rman ‘@’%’ IDENTIFIED BY ‘rman_password’;
create database hmon DEFAULT CHARACTER SET utf8;
grant all on hmon.* TO ‘hmon’@’%’ IDENTIFIED BY ‘hmon_password’;
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘hive_password’;
create database nav DEFAULT CHARACTER SET utf8;
grant all on nav.* TO ‘nav’@’%’ IDENTIFIED BY ‘nav_password’;
(3)執行實例
Create a database for the Activity Monitor. The database name, user name, and password can be anything you want. For example:
mysql> create database amon DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql>grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘amon_password’;
Query OK, 0 rows affected (0.00 sec)
(3)Create a database for the Service Monitor. The database name, user name, and password can be anything you want. For example:
mysql> create database smon DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on smon.* TO ‘smon’@’%’ IDENTIFIED BY ‘smon_password’;
Query OK, 0 rows affected (0.00 sec)
(4)Create a database for the Report Manager. The database name, user name, and password can be anything you want. For example:
mysql> create database rman DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on rman.* TO ‘rman ‘@’%’ IDENTIFIED BY ‘rman_password’;
Query OK, 0 rows affected (0.00 sec)
(5)Create a database for the Host Monitor. The database name, user name, and password can be anything you want. For example:
mysql> create database hmon DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on hmon.* TO ‘hmon’@’%’ IDENTIFIED BY ‘hmon_password’;
Query OK, 0 rows affected (0.00 sec)
(6)Create a database for the Hive metastore. The database name, user name, and password can be anything you want. For example:
mysql> create database hive DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘hive_password’;
Query OK, 0 rows affected (0.00 sec)
(7)Create a database for Cloudera Navigator. The database name, user name, and password can be anything you want. For example:
mysql> create database nav DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql>grant all on nav.* TO ‘nav’@’%’ IDENTIFIED BY ‘nav_password’;
Query OK, 0 rows affected (0.00 sec)

2.8爲Mysql設置備份
使用mysqldump,命令格式如下:
mysqldump-h-u-p>/tmp/.sql
For example, to back up database scm_database on the local host as the root user, with the password mypasswd:
mysqldumppmypasswdscmdatabase>/tmp/scmdatabasebackup.sqlTobackupdatabasescmdatabaseonremotehostmyhost.example.comastherootuser,withthepasswordmypasswd: mysqldump -hmyhost.example.com -uroot -pcloudera scm_database > /tmp/scm_database-backup.sql

如果你順利的執行到此處,恭喜你,很順利,但是本人在實際中遇到了問題,問題描素就是:
1,Access denied for user ‘root’@’localhost’ (using password: NO)
處理方法:密碼不對

[root ~]# grep 'temporary password' /var/log/mysqld.log
2017-07-05T07:32:13.291107Z 1 [Note] A temporary password is generated for root@localhost: l(0P<cNuwMd1

執行之後找到密碼,登錄之後繼續上訴的2.5步驟
2,[ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
[Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data
or log files.
處理方法:有進程共用mysqlid

mysqld stop
service mysqld stop
ps -ef|grep mysql*
kill -9 對應的進程id

以上基本上可以處理這個問題了之後再重啓mysql (service mysqld start),此時進入上訴2.4步驟
3,service mysql start failed
改問題與上訴2問題類似

# lsof -i:3306

查看mysql有沒有進行,之後按照2的處理方式進行處理
4, Failed! Error: Your password does not satisfy the current policy requirements
處理方法: 你的密碼級別很高,重置的密碼級別不高,重設
5,改密碼級別
進入mysql之後

set global validate_password_policy=0;
set global validate_password_length=0;
 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章