今天因工作需要编译安装mysql,过程中碰到一些问题,记录下来用于日后查阅,也可以帮助其他朋友。
下载的mysql版本是 mysql-5.0.75.tar.gz
解压:tar -zxvf ./mysql-5.0.75.tar.gz 进入目录 cd ./mysql-5.0.75
开始编译:
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data/mysql/data --enable-assembler --with-mysqld-ldflags=-rdynamic --with-client-ldflags=-all-static --with-plugins=innobase,partition --with-extra-charsets=none --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
配置数据库的安装目录是:/usr/local/mysql 数据库文件存放目录是:/usr/local/mysql/data/mysql/data 并且客户端程序和服务端程序才用静态编译(因为我要复制到一个精减速过的系统。)
make (用make 命令开始编译)
安装: make install 安装
安装数据库:/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/mysql/data
运行:/usr/local/mysql/bin/mysqld_safe
排错
错误一:mysql-bin.index' not found (Errcode: 13)
解决方法:chown mysql.mysql -R data
错误二:[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
解决方法:修改运行命令 /bin/mysqld_safe --user=mysql --datadir=/usr/local/newdisk/mysql/data/mysql/data
通过 ps -ef |grep mysql 命令查看mysql进程。
还有要注意的地方是:系统要有mysql 组和mysql用户。mysql对数据库存放目录有操作权限,可以通过命令来实现:chown mysql.mysql -R data 。mysql用户可以对/tmp操作,chmod 755 /tmp。
客户端登录,第一次登录密码为空。
/usr/local/mysql/bin/mysql -u root -p
修改root密码
mysql>;use mysql ;
mysql>; update user set password=PASSWORD("123456") where user='root';
mysql>; FLUSH PRIVILEGES;