wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
apt-get install build-essential
apt-get install libncurses5-dev
apt-get install cmake
提示:可通过 apt-cache depends 命令查看以上程序包的相关依赖包。
CentOS:
yum groupinstall "Development Tools"
yum install ncurses-devel
1) 解压 MySQL 安装包
tar -zxf mysql-5.6.14.tar.gz
cd mysql-5.6.14
2) 编译 MySQL
cmake \
-DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DMYSQL_DATADIR=/opt/mysql/data \
-DSYSCONFDIR=/opt/mysql/conf \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
参考文档:
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
3) 安装 MySQL
make -s
make install -s
注意:以下操作均在 /opt/mysql 目录下进行。
第一步:创建 MySQL 用户
groupadd mysql
useradd -g mysql -s "/usr/sbin/nologin" mysql
CentOS:
addgroup mysql
useradd -g mysql -s "/sbin/nologin" mysql
第二步:初始化数据库
chown mysql:mysql -R data
./scripts/mysql_install_db --user=mysql
执行完毕后,将在 MySQL 根目录下生成一个 my.cnf 文件。
第三步:创建配置文件
mkdir conf
mv my.cnf conf/
注意:在 CentOS 下,若 /etc/ 目录下存在 my.cnf 文件,则需要将其删除。
第四步:更改默认字符集为 UTF8
vim conf/my.cnf
... [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 ...
为防止中文乱码,建议将数据库默认编码方式统一改为 utf8,默认是 latin1。
第五步:添加启动服务
cp support-files/mysql.server /etc/init.d/mysqld
update-rc.d mysqld defaults
移除启动服务:
update-rc.d -f mysqld remove
CentOS:
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
第六步:配置环境变量
vim ~/.bashrc
... # MySQL export PATH=$PATH:/opt/mysql/bin
source ~/.bashrc
service mysqld start
停止 MySQL 服务:
service mysqld stop
重启 MySQL 服务:
service mysqld restart
mysql -u root –p
随后需输入 root 用户密码(root)。
set password = password('新密码');
设置其他用户密码:
set password for '用户名'@'主机名' = password('新密码');
命令行操作:
mysqladmin -u root password '新密码'
select host, user, password from mysql.user;
delete from mysql.user where password = '';
flush privileges;
为了提高安全性,建议删除所有空密码的用户,仅保留 root@localhost 一个用户。
create user '用户名'@'主机名' identified by '密码';
主机名可用 localhost、具体 IP、%(任意 IP)。
删除用户:
drop user '用户名'@'主机';
grant 权限 on 数据库名.表名 to '用户名'@'主机名';
权限包括:all、select、insert、update、delete 等,多种权限可用“,”分割。
表名可用“*”通配符。
撤销授权:
revoke 权限 on 数据库名.表名 from '用户名'@'主机名';
若需要通过 root 用户远程访问 MySQL,则需要修改 mysql.user 表的 host 为“%”。
update mysql.user set host = '%' where user = 'root';
flush privileges;
对于 CentOS 而言,需要对外开放 3306 端口。
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
查看 iptables:
/etc/init.d/iptables status
或
vim /etc/sysconfig/iptables