一、 操作系统与软件
操作系统及版本
Centos 6.4
依赖包
gcc、gcc-c++、cmake、ncurses-devel
下载目录
/opt
Mysql安装目录
/usr/local/mysql/
二、 准备工作
操作系统
Centos
Ubuntu
安装cmake
yum install cmake
sudo apt-get install cmake
安装bison
yum install bison
sudo apt-get install bison
安装gcc
yum install -y gcc
sudo apt-get install gcc
安装gcc-c++
yum install -y gcc-c++
sudo apt-get install gcc-c++
安装ncurses-devel
yum install ncurses-devel
sudo apt-get install ncurses-devel
说明:(mysql5.5以后是通过cmake来编译的)
三、 服务安装步骤
根据服务所需安装包的先后顺序,分步骤填写下表,操作步骤主要包括:
a.软件包安装与编译 b.配置文件修改 c. 权限设置
d.初始化数据库 e.启动与停止命令 f.验证服务正常
g.开机自动启动 h.环境变量配置 i.结束进程与启动
步骤a
软件包安装与编译
安装目录
/opt
安装步骤
下载安装程序
wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.40.tar.gz
解压
tar zxvf mysql-5.5.40.tar.gz
进入目录
cd /opt/mysql-5.5.40
编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/opt/mysql/data/ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DSYSCONFDIR=/etc
5.说明:成功安装标记如下
CMake Warning:
Manually-specified variables were not used by the project:
MYSQL_USER
-- Build files have been written to: /opt/mysql-5.5.40
6.make
7.make install
步骤b
配置文件修改
安装步骤
1、安装好mysql后第一步是创建全局配置文件 my.cnf 并调整相关参数,如端口、数据文件路径、缓存大小等:
sudo cp support-files/my-medium.cnf /etc/my.cnf
2、创建mysql启动、停止管理脚本:
sudo cp support-files/mysql.server /etc/init.d/mysqld
【注:cp support-files/mysql.server /etc/init.d/mysqld 这样更好,后面对应修改】
步骤3
权限设置
安装步骤
chmod 755 /etc/init.d/mysqld
步骤4
初始化数据库
目录
/opt/mysql-5.5.40
配置步骤
1. groupadd mysql
2. useradd -g mysql mysql
3. sh ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/opt/mysql/data/
注:#basedir mysql安装路径 datadir 数据库文件储存路径
4.说明,安装成功标记:
Installing MySQL system tables...
OK
Filling help tables...
OK
步骤5
启动与停止命令
安装目录
/opt/mysql-5.5.40
配置步骤
1、启动与停止命令
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
/etc/init.d/mysqld restart 重启
步骤6
验证服务正常
命令
1、进入安装目录
cd /usr/local/mysql/bin
2、连接登陆
./mysql -u root –p
密码为空
3.修改密码
use mysql;
update user set password=password('admin') where user='root';
这步就更新了密码
第三步:
flush privileges;刷新权限.
quit
4.建立软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
5.mysql -u root -p
输入密码即可
查看进程
pstree
是否有mysqld_safe ,有,代表OK,成功
★-----------------------------------------★
步骤7
开机自动启动
命令
完整步骤:
1、support-files/mysql.server /etc/init.d/mysqld
2、chmod 755 /etc/init.d/mysqld
3、chkconfig mysqld on
根据前面的配置,这一步实际只需输入chkconfig mysqld on即可
步骤8
环境变量配置
配置内容
为了方便,将mysql 的bin目录加到PATH中,在/etc/profile中加入myslq/bin,顺便增加两个别名方便操作:
export PATH=/usr/local/mysql/bin:$PATH
开关客户端
alias mysql_start="mysqld_safe&"
alias mysql_stop="mysqladmin -uroot -p shutdown"
步骤9
结束进程与启动
命令
输入命令
pstree -p
结束相应的pid程序
Kill -9 进程pid号
【注:要先kill 守护进程,再kill进程。如果直接kill进程,mysql进程会自动生成新的进程】
启动
/etc/init.d/mysqld start
四、 常见错误解决
1、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方案:服务没启动 /etc/init.d/mysqld start
2、在整个安装过程中,cmake安装不成功,就是缺少必要的最前面的依赖包,如果全部安装了,还cmake安装不成功。
就rm –rf mysql解压的那个包,重新编译安装cmake一遍,即可。
3、输入mysql –u root –p 如果提示-bash: mysql: command not found
解决:这是由于系统默认会查找/usr/bin下的命令,建立软连接即可
ln -s /usr/local/mysql/bin/mysql /usr/bin
五、 参考资料与网址
------------------------------------------------------
通过如上配置,学会了:
1、mysql -u root -p =====================命令默认位置在/usr/bin下 建立软连接即可
2、守护进程的作用,kill掉子进程也没事,自动生成新的。
在mysql的全局配置中加入一句话即可skip-grant-tables
4、环境变量开启别名模式
5、[root@IOT-WXUNI-Comm-A etc]# /home/wkubuntu/named/sbin/named: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory 【出现这个错误,20150320】
解决方案:20150425
6、mysql的报错日志 看配置文件 /etc/my.cnf 看知
7、[root@iZ25pktdyflZ mysql-5.5.40]# /etc/init.d/mysqld start
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/iZ25pktdyflZ.pid).
解决方案【2015年0512】
就是路径的问题: 再次在命令行输入即可 sh ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/var/lib/mysql【最后这个datadir这个地方修改为和/etc/my.cnf一样】
成功解决
[Mysql 报错信息路径 /var/log/mysqld.log]
解决方案二:【没有这个文件,建立这个文件】
[root@iZ25pl8wzd7Z mysql-5.5.40]# /etc/init.d/mysqld start
Starting MySQL.The server quit without updating PID file (/home/wkubuntu/mysql/data/iZ25pl8wzd7Z.pid). [FAILED]
这个错误的解决方案如下
sh ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/wkubuntu/mysql/data
8、忘记mysql密码,修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
2.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
3.登录并修改MySQL的root密码 mysql -uroot -p 密码为空
4、再把my.cnf去掉那一句
9、北京服务器
/home/niot/mysql/bin/mysql -u root -p
/home/niot/mysql/bin/mysqld_safe --pid-file=/home/niot/mysql/mysql.pid --user=niot --datadir=/home/niot/mysql/data &
sudo /home/niot/named/sbin/named -c /home/niot/named/etc/named.conf -n 1 &
mysql 进程 ps -ef|grep mysql
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/home/mysql/data/NIOT-SVR2.err --pid-file=/home/mysql/data/NIOT-SVR2.pid --socket=/tmp/mysql.sock --port=3306