文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql 自定义二进制安装路径

mysql 自定义二进制安装路径

时间:2009-07-09  来源:freyson

mysql
# cd /export2/soft/
# tar -zvxf mysql-max-5.0.27-linux-i686-glibc23.tar.gz
# mkdir -p /export1/server/mysql (省略也可)
# cp -r mysql-max-5.0.27-linux-i686-glibc23.tar.gz /export1/server/mysql
# cp /export1/server/mysql/support-files/my-medium.cnf /etc/my.cnf
添加mysql用户及用户组
# groupadd mysql
# useradd -g mysql mysql
修改mysql目录权限
# chown -R root /export1/server/mysql
# chgrp -R mysql /export1/server/mysql
# chown -R mysql /export1/server/mysql/data
生成mysql系统数据库
# /export1/server/mysql/scripts/mysql_install_db --user=mysql&
当编译完成后出现如下错误:/export1/server/mysql/scripts/mysql_install_db:line 85: my_print_defaults:command not found。这个错误是mysql版本导致的,我们版本是源代码解压后就直接能够使用,不过安装路径在程序里面已经给定,默认路径是/usr/local/如果我们更改了路径就要出现上面出现的错误。可在mysql_install_db中更改:在62-74行做如下更改
# Get first arguments from the my.cfg file, groups [mysqld] and
# [mysql_install_db], and then merge with the command line arguments
if test -x ./bin/my_print_defaults
then
  print_defaults="/export1/server/mysql/bin/my_print_defaults"
elif test -x ./extra/my_print_defaults
then
  print_defaults="/export1/server/mysql/extra/my_print_defaults"
elif test -x ./bin/my_print_defaults
then
  print_defaults="/export1/server/mysql/bin/my_print_defaults"
elif test -x ./bin/mysql_print_defaults
then
  print_defaults="/export1/server/mysql/bin/mysql_print_defaults"
else
  print_defaults="/export1/server/mysql/bin/my_print_defaults"
fi
把路径更改成现在mysql的存放路径,就可以解决这个问题。
同时还出现一个错误提示:Could not find help file ‘fill_help_tables.sql’ in ./support-files or inside ..
这个问题是因为你现在的所在的目录,你要退出到/mysql这个目录下安装就可以了。
启动mysql服务
# /export1/server/mysql/bin/mysqld_safe --user=mysql&
出现如下的错误:/export1/server/mysql/bin/mysqld_safe: line 199: my_print_defaults: command not found
/export1/server/mysql/bin/mysqld_safe: line 204: my_print_defaults: command not found
要修改/export1/server/mysql/bin/safe_mysqld。用/export1/server/mysql代替/usr/local/mysql就可以了。然后重新启动。
如出现 Starting mysqld daemon with databases from /export1/server/mysql/data
代表正常启动mysql服务了, 按Ctrl + C 跳出
修改 mysql 的 root 密码
# /export1/server/mysql/bin/mysqladmin -u root password "123456"
OK这样就更改完成,不过mysql安装完成后有一个匿名用户,这个用户是不用密码就能登陆的。我们首先要删除这个匿名用户。
# /export1/server/mysql/bin/mysql -u root -p
password:123456
进入后我们重新加载授权表。
mysql>flush privileges;
返回如下信息表示成功:Query ok, 0 row affected (0.00 sec)
删除匿名用户.
Mysql>use mysql;
Mysql>DELETE from user WHERE user=’ ‘;
返回如下信息:Query OK, 2 rows affected (0.00 sec)表示成功。
然后重新启动mysql。这样匿名用户就不能登陆mysql服务器了。
添加用户权限:
使用GRANT语句添加一个可以从本地主机连接到mysql服务器的
超级用户root,但是连接必须使用口令123456
mysql>GRANT ALL ON *.* TO root@localhost IDENTIFIED BY ‘123456’
->WITH GRANT OPTION;
返回信息Query ok, 0 row affected (0.002 sec)表明设置成功
使用同样的方法添加一个可以从其他任何地方连接到mysql服务器
超级用户root,但是连接时必须使用口令123456
mysql>GRANT ALL ON *.* TO ’root@%IDENTIFIED BY ‘123456’
->WITH GRANT OPTION;
退出客户端程序mysql.然后使用新用户root重新连接服务器。
Mysql启动后出现错误:STOPPING server from pid file /export1/server/mysql/data/www1.pid
后进入mysql/data/www1.err中查看日志发现如下错误:
070727 17:30:39  mysqld started
^G/export1/server/mysql/bin/mysqld: Can't create/write to file '/tmp/ibitYk0K' (Errcode: 13)
070727 17:30:39  InnoDB: Error: unable to create temporary file; errno: 13
070727 17:30:39 [ERROR] Can't start server : Bind on unix socket: Permission denied
070727 17:30:39 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
070727 17:30:39 [ERROR] Aborting
070727 17:30:39 [Note] /export1/server/mysql/bin/mysqld: Shutdown complete 070727 17:30:39  mysqld ended
这个问题是安装的时候出现的问题,当时我/export1/server/mysql/scripts/mysql_install_db没有加-user=mysql&。致使出现上面的错误。
当我重新编译的时候又出现错误:./bin/mysqld: Can't find file: './mysql/help_relation.frm' (errno: 13)这个上属于权限的问题,重新返回上面设置一下文件的权限就OK了。
修改my.cnf文件 vi /etc/my.cnf a、在[mysql]段增加一行 default-character-set = GBK | latin1 | utf8 | BIG5 (对于字符集可以根据自己的需求选择)   b、在[mysqld]段增加或修改 datadir = /var/lib/MySQL
--skip-innodb
default-character-set = GBK | latin1 | utf8 | BIG5
--wait-timeout = 3 | 5 | 10
max_connections = 256 | 384 | 512 (连接数自己根据实际情况设置)
max_connect_errors = 10000000
thread_concurrency = CPU个数×2
(3) 将 log-bin 注释
# bin/MySQLadmin -u root password 'password_for_root'
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载