mysql5.7.10

5.7.10問題

複製/support-file/my-default.cnf 修改並重命名my.cnf
修改
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
# server_id = .....
socket = /tmp/mysql.sock #這裏不能修改否則系統還是找 /tmp/mysql.socket


Can't read from message file errmsg.sys?
解決
複製 mysql 二進制解壓縮包下的share/errmsg.sys 到basedir下(/usr/local/mysql/data/share/errmag.sys)

初始化:
./mysqld --defaults-file=/local/mysql-5.7.10-linux-glibc2.5-x86_64/support-files/my.cnf --initialize --user=mysql
啓動:
./mysqld --defaults-file=/local/mysql-5.7.10-linux-glibc2.5-x86_64/support-files/my.cnf --user=mysql

[url]http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html[/url]

初始化完成後在最後一行中可以看到mysql給我們的密碼
我們接下來要修改密碼後才能使用
You must reset your password using ALTER USER statement before executing this ?
mysql> UPDATE mysql.user SET Password=PASSWORD('your_new_password') WHERE User='root';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> SET PASSWORD = PASSWORD('your_new_password');
Query OK, 0 rows affected, 1 warning (0.01 sec)

然後我們直接使用./mysql -uroot -p或者./mysql -hlocalhost -uroot -p登錄,密碼就是之前初始化產生的,之後我們還需要讓數據庫執行遠程登錄
需要添加,如果不支持會出現
Access denied for user 'root@localhost'@'localhost' (using password: YES)
我們需要修改

x:\>mysql -u root -pvmware
mysql> use mysql;
mysql> update user set host = "%" where user ="root";
mysql> select host, user from user;
mysql> flush privileges;
注:mysql> flush privileges; 使修改生效。

Please read "Security" section of the manual to find out how to run mysqld as root!
這個版本mysql不允許用戶直接操作root權限,./mysqld --user=root來強制啓動

============
問題:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解決方法查看my.conf裏已經配置了sock文件位置,
socket: '/users/bast/documents/dbtmp/mysql.sock',爲什麼還會找到的是'/tmp/mysql.sock',開始以爲是路徑寫錯,後來實在找不到'/tmp/mysql.sock'這個在哪裏配置的,也沒有再深究,google之後,有個人說加mysql -h127.0.01 -uroot -p發現可以了,結果換成mysql -hlocalhost -uroot -p還是不行,hosts文件裏也是localhost指向127.0.0.1的,問題雖然解決,但是還是一頭霧水。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章