日期:2014-05-16  浏览次数:20757 次

ubuntu mysql 5.6 安装与双机热备 问题及解决方案汇总
1.安装脚本:

#!/bin/sh

echo "安装前请确保mysql已被删除"
sudo rm -r /opt/mysql
sudo rm /etc/my.cnf
sudo groupadd mysql
sudo useradd -r -g mysql mysql
#wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz
tar -zxvf mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz
sudo mv mysql-5.6.13-linux-glibc2.5-x86_64 /opt/mysql
sudo ln -s /opt/mysql /usr/local/mysql
#初始化数据库
sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
sudo chown -R mysql:mysql /opt/mysql #添加权限;
#启动shell放到系统服务
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#配置文件放至全局
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
#修改data目录权限
#cd /opt/mysql
#sudo chmod -R 755 data
echo "----ok----"

2.mysql 配置与用户权限管理

(1)启动mysql
sudo /etc/init.d/mysql start

(2)登录
初次登录 不需要密码 ./mysql/bin/mysql -u root

(3)设置密码
update mysql.user set password=password('root') where user='root';
grant privileges;
下次登录时就需要 密码
./mysql/bin/mysql -u root -p


(4)设置访问权限/资源限制
GRANT ALL ON *.* to root@'175.102.99.%' IDENTIFIED BY 'passwd';
GRANT ALL ON *.* to user@'172.16.8.%' IDENTIFIED BY 'passwd';

FLUSH PRIVILEGES;
官方参考:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#request-access

(5)mysql 重启
sudo /etc/init.d/mysql restart


期间问题小计:

三种启动方式:
mysqld  '在bin目录下'

[mysqld], [server], [mysqld-major-version]

mysql.server'在support-files目录下'
'如果你使用Linux 服务器RPM软件包(MySQL-server-VERSION.rpm),mysql.server脚本将安装到/etc/init.d目录下,'
[mysqld], [mysql.server], [server]

mysqld_safe  '在bin目录下'
'使用mysqld_safe而不使用mysqld的好处是mysqld_safe“守护”其mysqld进程,如果用kill –9发送的信号或由于其它原因(例如分段故障)进程终止,则重启进程。'
[mysqld], [server], [mysqld_safe]

mysql 资料:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html

ubuntu 下手动安装mysql 详细版:http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html

          

SET PASSWORD FOR ''@'localhost' = PASSWORD('rundong');
'第一次未设置密码时,不用 -p ,更新密码后,-p 会提示输入密码,必须密码登录/bin/mysql -h -u -p'
update mysql.user set password=password('rundong') where user='root';  ok

A.4.1. 如何复位根用户密码
http://dev.mysql.com/doc/refman/5.1/zh/problems.html#resetting-permissions