Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4248145
  • 博文数量: 447
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 5786
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

读好书,交益友

文章分类

全部博文(447)

文章存档

2024年(1)

2023年(5)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: Mysql/postgreSQL

2013-03-27 16:27:44

linux源码安装mysql是个蛋疼的事情,这篇文章适合mysql5.5.12,但是不适合mysql 5.6.10,至于什么问题,我懒得查了。
先安装cmake
下载cmake
 wget
安装cmake
tar -zxvf cmake-2.8.4.tar.gz
 cd cmake-2.8.4
./configure
make && make install

安装mysql

tar zxvf mysql-5.5.18.tar.gz
cd mysql-5.5.18
mkdir -p /usr/local/mysql/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_USER=mysql
make
make install

-DWITH_MEMORY_STORAGE_ENGINE 这一项无效,不要理他。

chmod +w /usr/local/mysql

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

mkdir -p /data/mysql/
mkdir -p /data/mysql/data/
mkdir -p /data/mysql/log/

cd support-files/

删除以前可能存在mysql.cnf ,注意mysql 5.6.10没有my-large.cnf这个文件
rm -fr /etc/my.cnf
cp my-large.cnf /data/mysql/my.cnf

cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld

添加mysql用户
groupadd mysql
useradd -g mysql mysql
chown mysql.mysql -R /usr/local/mysql/data/mysql/
chown -R mysql:mysql /data/mysql/
chown -R mysql:mysql /usr/local/mysql

添加开机启动
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql/data

出现 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
是因为在进行初始化数据库权限表的那一步的时候默认创建的权限表在默认目录/usr/local/mysql/var下面,这就造成了,上面的错误无法找到权限表:Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
这样问题同样也会出现 你将自己的数据库的数据文件修改为别的目录的时候,因为你没有在相应的目录下创建数据库权限表,解决办法就是你重新运行mysql_install_db 文件,重新生成数据库权限表,但是相应的你也要重新建里用户,以及设置权限。
解决办法 在运行初始化权限表的时候使用增加参数--datadir ,命令格式为:
chmod +x scripts/mysql_install_db
 scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql
 
添加自启动

chkconfig --add mysqld
chkconfig --level 345 mysqld on
 service mysqld start

 修改root密码

/usr/local/mysql/bin/mysqladmin -h 127.0.0.1 -u root password '123456'
/usr/local/mysql/bin/mysql -u root -p

输入密码 123456

>show databases;

出现 Starting MySQL.Manager of pid-file quit without updating file

一般是因为mysql进程没有杀干净,这是killall是不行的。

[root@web init.d]# ps -A|grep mysql
11932 pts/1    00:00:00 mysqld_safe
12084 pts/1    00:00:00 mysqld

kill -9 杀之

阅读(3469) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~