在Ubuntu上源码安装MySQL+安装问题解决+安全优化
2016-03-13 11:46
801 查看
0.说明 当然,MySQL的安装方法多种多样,在Ubuntu上,你可以采用apt-get的方式安装,这样的好处是:快速方便。基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要apt-get执行完成,那么MySQL也就可以使用了。 但我更倾向于使用源码的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助!
但即便是按照官方文档来安装,你也会遇到各种各样的问题,这里,我将呈现一个完整的过程给大家,直到完成下面的4个任务:下载MySQL 5.6
安装准备:安装MySQL依赖函数库
安装与运行MySQL
优化MySQL
(1)账户安全优化
(2)数据库安全优化
我是安装完Ubuntu 15.10后就进行MySQL 5.6的安装,因此非常有参考价值!
1.下载MySQL 5.6
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html 进入该下载地址后,选择:
Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive 或
Linux - Generic (glibc 2.5) (x86, 32-bit), Compressed TAR Archive 这取决于你用的是32位的还是64位的,这里,我下载的是64位的,下载完成后的包如下:
xpleaf@leaf:/usr/local/mysql$ ls -d data/
data/xpleaf@leaf:/usr/local/mysql$ sudo bin/mysqld_safe --user=mysql &
[1] 8365
xpleaf@leaf:/usr/local/mysql$ 160308 14:13:26 mysqld_safe Logging to '/usr/local/mysql-5.6.28-linux-glibc2.5-x86_64/data/leaf.err'.
160308 14:13:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.6.28-linux-glibc2.5-x86_64/data 确认已经开启MySQL服务:
xpleaf@leaf:~$ sudo netstat -antup | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 8455/mysqld mysql服务确实已经成功启动了!
(5)测试mysql服务[/b]
为了使mysql可以更好地在你的系统上运行,建议进行一定的mysql服务测试,如下:
xpleaf@leaf:/usr/local/mysql$ sudo bin/mysqladmin version
bin/mysqladmin Ver 8.42 Distrib 5.6.28, for linux-glibc2.5 on x86_64
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.6.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 8 min 36 sec
Threads: 1 Questions: 2 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.003 成功了!然后我们再进行下面的操作热热身吧:
xpleaf@leaf:/usr/local/mysql$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
……
mysql> 终于可以了!
如果在这一步上遇到跟我上面不一样的情况的,可以给我留言。登陆成功后继续进行下面的操作:[code;'>mysql> select User, Host, Password from mysql.user;
+------+-----------+----------+
| User | Host | Password |
+------+-----------+----------+
| root | localhost | |
| root | leaf | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | leaf | |
+------+-----------+----------+
6 rows in set (0.00 sec) 从这张表中,我们可以看到有两种用户:
a.root用户:拥有最高权限b.匿名用户:拥有有限的权限 而至于Host参数,则是说明通过该用户,能够以哪种方式进入mysql数据库中,比如对于root用户,现在的方法都是可以进入mysql数据库中的:mysql -u root -h localhostmysql -u root -h leafmysql -u root -h 127.0.0.1mysql -u root -h ::1 匿名用户也是如此,但不管哪一种,其实都是指从本地登陆的意思。
但我们会发现一个问题,就是两种用户中Password一栏都为空,这也就是为什么刚刚我们直接输入一个mysql就可以进入的原因了,默认情况下,root用户和匿名用户都没有密码!
这也就是我们为什么要做基本优化的原因了,因为你不对这些用户做管理,那么谁都可以进行你的数据库,数据库完全将无从谈起!
--账户安全优化1:为root用户创建密码 接下来我们要做的是:
为每一个root用户创建密码 有三种方式可以进行这些操作:
使用set password语句
使用update语句
使用mysqladmin命令
方式1:使用set password语句[code=bash;toolbar:false">xpleaf@leaf:~$ mysql -u root -p
Enter password:
mysql> set password for 'root'@'localhost' = password('123456');
mysql> set password for 'root'@'127.0.0.1' = password('123456');
mysql> set password for 'root'@'::1' = password('123456');
mysql> set password for 'root'@'leaf' = password('123456');
mysql> flush privileges;[/code]xpleaf@leaf:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
xpleaf@leaf:/usr/local/mysql$ mysql -u root -p
Enter password:xpleaf@leaf:~$ mysql -u root -p
Enter password:
mysql> update mysql.user set password = password('123456') where User = '';
mysql> flush privileges;
但即便是按照官方文档来安装,你也会遇到各种各样的问题,这里,我将呈现一个完整的过程给大家,直到完成下面的4个任务:下载MySQL 5.6
安装准备:安装MySQL依赖函数库
安装与运行MySQL
优化MySQL
(1)账户安全优化
(2)数据库安全优化
我是安装完Ubuntu 15.10后就进行MySQL 5.6的安装,因此非常有参考价值!
1.下载MySQL 5.6
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html 进入该下载地址后,选择:
Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive 或
Linux - Generic (glibc 2.5) (x86, 32-bit), Compressed TAR Archive 这取决于你用的是32位的还是64位的,这里,我下载的是64位的,下载完成后的包如下:
这样的话就可以很快安装完libaio函数库了。xpleaf@leaf:/usr/local$ cd mysql
3.安装与运行MySQL
(1)分别创建一个名为mysql的用户和用户组 如下:
[code=bash;toolbar:false">xpleaf@leaf:~$ sudo groupadd mysql
xpleaf@leaf:~$ sudo useradd -r -g mysql -s /bin/false mysql
xpleaf@leaf:/usr/local/mysql$ ls -d data/
data/xpleaf@leaf:/usr/local/mysql$ sudo bin/mysqld_safe --user=mysql &
[1] 8365
xpleaf@leaf:/usr/local/mysql$ 160308 14:13:26 mysqld_safe Logging to '/usr/local/mysql-5.6.28-linux-glibc2.5-x86_64/data/leaf.err'.
160308 14:13:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.6.28-linux-glibc2.5-x86_64/data 确认已经开启MySQL服务:
xpleaf@leaf:~$ sudo netstat -antup | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 8455/mysqld mysql服务确实已经成功启动了!
(5)测试mysql服务[/b]
为了使mysql可以更好地在你的系统上运行,建议进行一定的mysql服务测试,如下:
xpleaf@leaf:/usr/local/mysql$ sudo bin/mysqladmin version
bin/mysqladmin Ver 8.42 Distrib 5.6.28, for linux-glibc2.5 on x86_64
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.6.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 8 min 36 sec
Threads: 1 Questions: 2 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.003 成功了!然后我们再进行下面的操作热热身吧:
xpleaf@leaf:~$ cd /usr/local/mysql然后再重新登陆:
xpleaf@leaf:/usr/local/mysql$ sudo bin/mysqld_safe --user=mysql &
xpleaf@leaf:/usr/local/mysql$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
……
mysql> 终于可以了!
如果在这一步上遇到跟我上面不一样的情况的,可以给我留言。登陆成功后继续进行下面的操作:[code;'>mysql> select User, Host, Password from mysql.user;
+------+-----------+----------+
| User | Host | Password |
+------+-----------+----------+
| root | localhost | |
| root | leaf | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | leaf | |
+------+-----------+----------+
6 rows in set (0.00 sec) 从这张表中,我们可以看到有两种用户:
a.root用户:拥有最高权限b.匿名用户:拥有有限的权限 而至于Host参数,则是说明通过该用户,能够以哪种方式进入mysql数据库中,比如对于root用户,现在的方法都是可以进入mysql数据库中的:mysql -u root -h localhostmysql -u root -h leafmysql -u root -h 127.0.0.1mysql -u root -h ::1 匿名用户也是如此,但不管哪一种,其实都是指从本地登陆的意思。
但我们会发现一个问题,就是两种用户中Password一栏都为空,这也就是为什么刚刚我们直接输入一个mysql就可以进入的原因了,默认情况下,root用户和匿名用户都没有密码!
这也就是我们为什么要做基本优化的原因了,因为你不对这些用户做管理,那么谁都可以进行你的数据库,数据库完全将无从谈起!
--账户安全优化1:为root用户创建密码 接下来我们要做的是:
为每一个root用户创建密码 有三种方式可以进行这些操作:
使用set password语句
使用update语句
使用mysqladmin命令
方式1:使用set password语句[code=bash;toolbar:false">xpleaf@leaf:~$ mysql -u root -p
Enter password:
mysql> set password for 'root'@'localhost' = password('123456');
mysql> set password for 'root'@'127.0.0.1' = password('123456');
mysql> set password for 'root'@'::1' = password('123456');
mysql> set password for 'root'@'leaf' = password('123456');
mysql> flush privileges;[/code]xpleaf@leaf:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
xpleaf@leaf:/usr/local/mysql$ mysql -u root -p
Enter password:xpleaf@leaf:~$ mysql -u root -p
Enter password:
mysql> update mysql.user set password = password('123456') where User = '';
mysql> flush privileges;
相关文章推荐
- mysql中日期时间型解析
- 【Mysql】----安装教程
- mysql 用户管理和权限设置(转)
- MySQL存储引擎 MyISAM与InnoDB区别
- 在windows导入mysql的示例employees数据库
- MySQL数据库总结(3)数据库的备份与恢复与破解密码,DCL用户权限查
- mysql数据库表修改某一列的类型
- MySQL数据库总结(2)增删改查
- 不停止MySQL服务增加从库的两种方式【转载】
- MySQL:unknown variable 'master-host=masterIP' [ERROR] Aborting
- MySQL数据库总结(1)入门语句
- mac mysql安装流程
- mysql 安装不出现配置向导
- MySQL 索引优化 btree hash rtree
- Mac版下Mysql错误修正
- Mysql代码建外键问题
- C# 使用MySqlBulkLoader 批量导入数据到Mysql
- MySQL简单入门——安装配置启动登录
- MySQL的配置
- Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)