yhljxy 2014-10-19
从mysql-5.5起,mysql源码安装开始使用cmake了。在这里说一下以源码方式安装mysql的具体方法,实验机环境为:Vmware 10 ; ubuntu-14.04 Desktop ;i5-4200m 64位
由于我所安装的系统是桌面版的,而这个版本只是安装了一个gcc,没有g++(不知g++与gcc 有何不同,所以各位在以源码方式安装mysql的时候一定先要检查一下本机的编译环境 --- apt-get update gcc 或 apt-get install gcc ,g++ 同上)。
完整安装顺序是 : 安装gcc-->安装g++ --> 安装cmake -->安装mysql,下面就这几个步骤简单记一下:
一、安装gcc :~$ sudo apt-get install gcc 等待安装完成
二、安装g++ : ~$ sudo apt-get install build-essential 询问--》输入y回车,等待安装完成 ,完成安装后
三、安装cmake (注:在Ubuntu中可以使用 ~$ apt-get install cmake 一步安装到位,以下3.1 - 3.4可省略):
3.1 下载安装文件:~$ wget ttp://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz
3.2 移动并解压文件:~$ sudo mv -f ~/Downloads/cmake-2.8.7.tar.gz /usr/local/
~$ cd /usr/local/cmake-2.8.7
~$ tar -zxvf cmake-2.8.7
3.3 配置以准备编译: ~$ ./configure --prefix=/usr/local/cmake (cmake这个文件夹要自己新建,在/usr/local下)
3.4运行上一步没有出错,则会提示:then run make,提示你运行make编译,此时在cmake-2.8.7下运行make,等待完成
四、最后我们来安装mysql
4.1 mysql 下载 ~$ wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz
4.2 假设我们要把它安装在/usr/local/mysql下。进入解压好的mysql目录~$ cd /Downloads/mysql5
4.3 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 回车
*注意有的时候会出现提示:说没有这个cmake这个命令,但是cmake刚刚我们的确安装了,没关系,给它填上路径就行了: export PATH=/usr/local/cmake-2.8.7/bin:$PATH 然后再运行就好了
*若提示Curses library not found ,则还需要运行一次这个命令: ~$ sudo apt-get install ncurses-dev
4.4 配置好后会提示要你编译: ~$ make
4.5 ~$ make install 安装完成之后会给出成功提示
4.6 为mysql添加用户和用户组 :~$ groupadd mysql ; useradd -r -g mysql mysql (-r是说这个用户不能用来登录系统)
4.7 安装默认的数据库:以mysql的身份执行(su - mysql) cd /usr/local/mysql/scripts/
sudo ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
4.8 将mysql的配置文件和服务文件复制到系统配置路径下:~$ cp my-medium.config /etc/my.conf ; cp mysql.server /etc/init.d/mysqld
4.9 启动服务 ~$ service mysqld start 或用 ~$ /etc/init.d/mysql start
太晚了...未完待续
new :::
Can't connect to local MySQL server through socket
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:
[mysql d]
socket=/var/lib/mysql .sock
改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点:
[mysql ]
socket=/tmp/mysql .sock
或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找
或者用这样的方法:
ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock
成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock
问题继续
最常见的是:
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (111)
解决办法:
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root /
> -S /var/lib/mysql/mysql.sock password 'your.passwd'
或者做个连接
ln -s /var/lib/mysql/mysql.sock /tmp
其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动
命令不对,我碰到过
常见的几种启动方式,自己也不是记得很 清楚,如果你确定tmp下有mysql.sock这
个文件不妨试试另外的几个命令
/usr/local/mysql/bin/mysql -u root -p
/usr/local/mysql/bin/mysqld --user=mysql&
/usr/local/mysql/bin/mysqld --user=root&
/usr/local/mysql/bin/mysqld_safe --user=root&
/usr/local/mysql/bin/mysqld_safe --user=mysql&
/usr/local/mysql/bin/safe_mysqld--uer=root&(注意safe_mysqld与mysqld_safe是不同的,&表示mysql在后台运行)我的就会报错了
STOPPING server from pid file
/usr/local/mysql/data/localhost.localdomain.pid
060304 11:46:21 mysqld ended
这是权限问题,我的mysql目录属于root用户,也属于root群组,改用mysqld_safe启动就没问题了,
大家只要注意这几个mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多试
几次
其实有时mysql已经正 常启动了,查看mysql是否启动命令
ps -aux | grep mysqld
会看到如下类似内容
mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00
/usr/local/mysql/
root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep
mysql
查看mysql是否在监 听端口命令
netstat -tl | grep mysql
会看到如下类似内容
tcp 0 0 *:mysql *:* LISTEN