MySQL安装

源码安装

  • 官方的安装教程

  • 一般来说,开发人员基本是没有运维人员的管理员权限的,所以推荐源码安装,目录自定义更加方便。以下仅限于mysql-5.6的版本。

1. 下载:http://dev.mysql.com/downloads/mysql/,我选择的是source code, Generic Linux (Architecture Independent), Compressed TAR Archive,


2. 建立所需要的目录,然后执行cmake:

3. 执行make,时间有点久:  
CMAKE_INSTALL_PREFIX=/disk2/zhaowei/software/install -DMYSQL_UNIX_ADDR=/disk2/zhaowei/software/install/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_DATADIR=/disk2/zhaowei/software/install/mysqldata/ -DMYSQL_USER=zhaowei -DWITH_DEBUG=1  -DENABLE_PROFILING=1  -DMYSQL_TCP_PORT=3306

4. make && make install

5. 制作my.cnf。建议这里的端口号还是为3306会比较好。这里是一个模板

6. ./scripts/mysql_install_db --user=zhaowei  --datadir=/disk2/zhaowei/software/install/mysqldata/  --defaults-file=/disk2/zhaowei/software/install/my.cnf --basedir=/disk2/zhaowei/software/install/

7. ./bin/mysqld_safe --defaults-file=/disk2/zhaowei/software/install/my.cnf --user=zhaowei --basedir=/disk2/zhaowei/software/install --datadir=/disk2/zhaowei/software/install/mysqldata/ --pid-file=/disk2/zhaowei/software/install/mysqld.pid  &

8. 查看是否可以正常工作了:./bin/mysqlshow

9. 这个时候你是还没有管理员权限的,也看不了user表。

10. 先关闭数据库:../bin/mysqladmin -uroot shutdown

11. 以不需要对表验证权限的方式启动:./bin/mysqld_safe --defaults-file=/disk2/zhaowei/software/install/my.cnf --user=zhaowei --basedir=/disk2/zhaowei/software/install --datadir=/disk2/zhaowei/software/install/mysqldata/ --pid-file=/disk2/zhaowei/software/install/mysqld.pid --skip-grant-tables;

12. 再次./bin/mysql 就可以看到show databases;后有msyql库了。

13. SET PASSWORD FOR 'zhaowei'@'localhost' =  
PASSWORD('dictop');

14. select user, password from user;

15.update user set password = password("dictop") where user = "root";  
Query OK, 4 rows affected (0.00 sec)

16. 为上一步还是没有办法远程连接的,会提示权限不足:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'dictop' WITH GRANT OPTION;然后就可以了。  
一些别的命令:
1. 查看当前的用户:select user();  
2. 增加一个用户并加权限:  
使用root帐号:
insert into mysql.user(Host,User,Password)  value ('%','zhaowei', password('vicviz'));

select user, password , host from user;

grant all privileges on springbootdb.* to zhaowei@'%' identified by 'vicviz';

如果出现了:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
,则set global read_only=0;flush privileges;
再grant一次就好了

docker安装

docker run --name mysql -p 33306:3306 -e MYSQLROOTPASSWORD=yourpassword -v /Users/viz/workspace/docker/mysql:/var/lib/mysql -d mysql:5.7

comments powered by Disqus