日期:2014-05-16 浏览次数:20683 次
1,首先下载mysql源码,我下载的是mysql5.0.90版本。(http://download.softagency.net)
2,将压缩包放到目录/usr/local/src下,解压:“tar -xzvf mysql-5.0.90.tar.gz”
3,进入目录:“cd mysql-5.0.90”
4.1,收集相关信息,生成makefile:“./configure –prefix=/usr/local/mysql”
(安装在/usr/local/mysql目录下面,这是网上的安装方法)。
4.2,我的安装是:“./configure”
configure的时候如果出现错误(没有出错则不用管):/termcap 库没有安装,那么运行“apt-cache search
curses | grep libncurses”命令
在使用ubunru编译一些文件时提示No curses/termcap library
found,即缺少termcap库文件。解决这个问题的方法是使用下面的命令安装,“sudo apt-get install
libncurses5-dev”,然后再重新编译刚才的文件就可以了。即“./configure
–prefix=/usr/local/mysql(网上的方法)”。我的是直接:“./configure”
5,接着将源码包生成二进制的包使用make命令:“make”
如果有错,说明没有安装g++,解决办法同上,这里用如下命令安装:“sudo apt-get install g++”
安装完成之后再次编译make,又出现错误:是因为g++,c++是在configure之后安装的,此时只需重新configure后再编译make,问题解决。
6,接下来将makefile文件安装:“make install”
7,接下来将support-files{在/home/sxqlj[用户名]/mysql-5.0.90}下的my-medium.cnf文件拷贝到/etc/my.cnf文件中:sudo
cp support-files/my-medium.cnf /etc/my.cnf
8.1,进入安装目录:cd /usr/local/mysql 用mysql用户初始化数据库:“bin/mysql_install_db
--user=mysql”(网上的方法)
8.2,进入安装目录:cd /home/sxqlj/mysql-5.0.90
用mysql用户初始化数据库:“/home/sxqlj/mysql-5.0.90/scripts/mysql_install_db
--user=mysql”
???
[mysql_install_db在/home/sxqlj/mysql-5.0.90/scripts目录下]
这里一定要用mysql用户,没有的话用下面两个命令创建:
sudo groupadd mysql
sudo useradd -g mysql mysql
9,接下来进行一些权限设置:
sudo chown -R root .
sudo chown -R mysql var[这个也许不行]
sudo chgrp -R mysql .
10.1,启动mysql服务:bin/mysqld_safe –user=mysql &
10.2,启动mysql服务:sudo /home/sxqlj/mysql-5.0.90/scripts/mysqld_safe
--user=mysql &
///////////////////////////////////////////////////////////
这些没有测试:
如果你要让开机自动启动可以对/etc/rc.local文件进行编辑:
vi /etc/rc.local
在exit 0前面加上
/usr/local/mysql/bin/mysqld_safe --user=mysql
&
///////////////////////////////////////////////////////////
11.1,好了,到这里基本上安装完成了,用/usr/local/mysql/bin/mysql登录mysql(网上的方法)
11.2,我的登录
sxqlj@ubuntu:~$ /usr/local/bin/mysql
显示:
Welcome to the MySQL monitor.? Commands end with ;
or \g.
Your MySQL connection id is 1
Server version: 5.0.90-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
如果连接不上mysql,您可以在终端提示符后运行以下命令来检查mysql服务器是否正在运行:
sudo netstat -tap | grep mysql
这是我的显示结果,说明正常运行:
sxqlj@ubuntu:~$ sudo netstat -tap | grep mysql
[sudo] password for sxqlj:
tcp???????
0?????
0
*:mysql????????????????
*:*????????????????????
LISTEN?????
2919/mysqld???
?
//////////////////////////////////////////////////////////
这段未测试:
这里我们最好设置以下管理员密码:
为了安全,修改root密码:
mysql>use mysql
mysql>UPDATE user SET password=PASSWORD('你的密码')
WHERE user='root';
mysql>FLUSH PRIVILEGES;
mysql>exit;
//////////////////////////////////////////////////////////
? 设置密码“/usr/local/bin/mysqladmin -u root password
123”
12,解决mysql“Access denied for user 'root'@'localhost'”
////////////////////登录/////////////////////////////
sxqlj@ubuntu:~$ mysql -uroot -p
Enter password: sxqlj@ubuntu:~$ mysql -uroot -p
Enter password: 123
Welcome to the MySQL monitor.? Commands end with ;
or \g.
mysql> create database AB;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
|
Database??????????
|
+--------------------+
| information_schema |
|
AB????????????????
|
|
mysql?????????????
|
|
test??????????????
|
|
testDB????????????
|
+--------------------+
//////////////////////////////////////////////////////////
网上提供的三种方法:
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking
&
# mysql -u root mysql
mysql> UPDATE user SET
Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH