查看mysql 的启动参数
service mysql start 的时候并没有显示指定启动加载的文件,而有时候要知道它的一些默认路径和配置文件进行更改。
指令如下:
cat /proc/$(pidof mysqld)/cmdline | tr '\0' '\n'
将输出
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/VM_1_11_centos.err --pid-file=/usr/local/mysql/data/VM_1_11_centos.pid
当然 直接ps aux | grep mysqld 也可以。
CentOS 7 安装 MySQL Server 5.5
首先,因为CentOS先安装了 MariaDB,与MySQL冲突,要先卸载掉
查看当前安装的mariaDB
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.****-1.el7_0.x86_64
去mysql官网上下载RedHat Linux 用的 RPM 包, 包括以下三项 server client 和 devel
http://dev.mysql.com/downloads/mysql/5.5.html#downloads
MySQL-server-5.5.42-1.el7.x86_64.rpm
MySQL-client-5.5.42-1.el7.x86_64.rpm
MySQL-devel-5.5.42-1.el7.x86_64.rpm
然后放在某一目录下,进入目录后,输入以下命令
rpm -ivh MySQL-server-5.5.42-1.el7.x86_64.rpm MySQL-client-5.5.42-1.el7.x86_64.rpm MySQL-devel-5.5.42-1.el7.x86_64.rpm
然后就可以启动mysql 服务了
service mysql start
CentOS 下 MySQL 远程登录 关闭防火墙
iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT
service iptables save
service iptables restart
【转载】 CentOS-6.3安装Mysql-5.5.29
CentOS-6.3安装Mysql-5.5.29
zhoulf 2013/1/25 原创
安装方式分为rpm和源码编译安装两种,本文是采用mysql源码编译方式,编译器使用Cmake。软件需要mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz,请自行下载。
下载地址:
http://mysql.mirror.kangaroot.net/Downloads/
http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
其中mysql使用最新的稳定版本,即最新试用版的上一个版本,且非rc或者alpha的版本,Cmake直接用的最新版。
1.上传mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz到/usr/local文件夹下。
2.CentOS安装g++和ncurses-devel
[root@localhost local]# yum install gcc-c++
[root@localhost local]# yum install ncurses-devel
3.cmake的安装
[root@localhost]# tar -zxv -f cmake-2.8.10.2.tar.gz // 解压压缩包
[root@localhost local]# cd cmake-2.8.10.2
[root@localhost cmake-2.8.10.2]# ./configure
[root@localhost cmake-2.8.10.2]# make
[root@localhost cmake-2.8.10.2]# make install
4.将cmake永久加入系统环境变量
用vi在文件/etc/profile文件中增加变量,使其永久有效,
[root@localhost local]# vi /etc/profile
在文件末尾追加以下两行代码:
PATH=/usr/local/cmake-2.8.10.2/bin:$PATH
export PATH
执行以下代码使刚才的修改生效:
[root@localhost local]# source /etc/profile
用 export 命令查看PATH值
[root@localhost local]# echo $PATH
5.创建mysql的安装目录及数据库存放目录
[root@localhost]# mkdir -p /usr/local/mysql //安装mysql
[root@localhost]# mkdir -p /usr/local/mysql/data //存放数据库
6.创建mysql用户及用户组
[root@localhost] groupadd mysql
[root@localhost] useradd -r -g mysql mysql
7.编译安装mysql
[root@localhost local]# tar -zxv -f mysql-5.5.29.tar.gz //解压
[root@localhost local]# cd mysql-5.5.29
[root@localhost mysql-5.5.29]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
[root@localhost mysql-5.5.29]# make
[root@localhost mysql-5.5.29]# make install
8.检验是否安装成功
[root@localhost mysql-5.5.29]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
有bin等以上文件的话,恭喜你已经成功安装了mysql。
配置mysql
9.设置mysql目录权限
[root@localhost mysql]# cd /usr/local/mysql //把当前目录中所有文件的所有者设为root,所属组为mysql
[root@localhost mysql]# chown -R root:mysql .
[root@localhost mysql]# chown -R mysql:mysql data
10.将mysql的启动服务添加到系统服务中
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖”/etc/my.cnf”? y
11.创建系统数据库的表
[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db –user=mysql
12.设置环境变量
[root@localhost ~]# vi /root/.bash_profile
在修改PATH=$PATH:$HOME/bin为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
[root@localhost ~]# source /root/.bash_profile //使刚才的修改生效
13.手动启动mysql
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# ./bin/mysqld_safe –user=mysql & //启动MySQL,但不能停止
mysqladmin -u root -p shutdown //此时root还没密码,所以为空值,提示输入密码时,直接回车即可。
14.将mysql的启动服务添加到系统服务中
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
15.启动mysql
[root@localhost mysql]# service mysql start
Starting MySQL… ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
启动失败:
我这里是权限问题,先改变权限
[root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql
接着启动服务器
[root@localhost mysql]# /etc/init.d/mysql start
16.修改MySQL的root用户的密码以及打开远程连接
[root@localhost mysql]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@”%” IDENTIFIED BY “root”; //为root添加远程连接的能力
mysql> update user set Password = password(‘123456′) where User=’root’; //设置root用户密码
mysql> select Host,User,Password from user where User=’root’;
mysql> flush privileges;
mysql> exit
17.重新登录
[root@localhost mysql]# mysql -u root -p
Enter password:123456
若还不能进行远程连接,关闭防火墙
[root@localhost]# /etc/rc.d/init.d/iptables stop
winserver 下注册 mysql 服务
布署了个免安装式的mysql 注册服务让它自启动
bin\mysqld --install mysql --defaults-file="%cd%\my.ini"
当然my.ini 的位置视当前的情况定咯
然后 netstart mysql 启动就好了
mysql 存储过程游标相关
定义本地变量
DECLARE idcard varchar(128);
定义游标
DECLARE user_cursor CURSOR FOR
SELECT card_no FROM t_user where last_login_time >= “2013-01-01”;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_users =1;
SET no_more_users =0;
打开游标
OPEN user_cursor;
循环读取游标的内容
REPEAT
FETCH user_cursor INTO idcard ;
update t_jifen set score=score*1.5 where card_no=@idcard ;
循环结束
UNTIL no_more_users
END REPEAT;
关闭游标
CLOSE user_cursor;
mysql 的权限赋予,备忘一下
grant [all | all privileges |select | update … ] #权限 all privileges = all
on dbname.table_name [*] #库名表名
to somebody@111.111.111.% #用户名@IP端,可用%代替
identified by ‘123’ #登录密码