首页 > 代码库 > Linux mysql数据库搭建

Linux mysql数据库搭建

设共享软件包地址192.168.80.10

setenforce  0

service  iptables  stop

1.共享软件包

mount.cifs   //192.168.80.10/r   /media/                 匿名访问共享文件夹

cd   /media/

ls     查看是否挂载成功了

tar   xzvf   mysql-5.5.24.tar.gz   -C   /opt/        解压至/opt/

cd   /opt/ mysql-5.5.24 

mount   /dec/cdrom    /mnt

yum  install   cmake   -y                     安装cmake

useradd  mysql   -s   /sbin/nologin       添加可以登录mysql用户,但不能登录系统

mkdir   -p   /usr/local/mysql

执行yum   install   -y   ncurses-devel        查看是否安装此软件包

执行以下脚本:

cmake  \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \           安装路径

-DMYSQL_DATADIR=/home/mysql/ \                        数据文件

-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=system \

-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1 \

-DWITH_SSL=bundled

(注意:若安装前未执行yum   install   -y   ncurses-devel   命令,有可能会报错。

此时,执行上条命令解决问题,并且执行rm   CMakeCache.txt删除缓存,再重新执行cmake)

若未报错,执行make

若未报错,执行make  install

chown  -R   mysql.mysql /usr/local/mysql             改变mysql的权限

export   PATH=$PATH:/usr/local/mysql/bin/      初始化环境变量

(注意,这里初始化是临时的,若想开机自运行,则执行

vi   ~/.bash_profile

添加一条命令

PATH=$PATH:/usr/local/mysql/bin/)

cp   support-files/my-medium.cnf   /etc/my.cnf //建立配置文件

cp   support-files/mysql.server   /etc/init.d/mysqld    

添加系统服务,将mysql.server脚本文件复制到/etc/init.d/目录下,改名为 mysqld

chmod   755   /etc/init.d/mysqld                      设置执行权限

chkconfig   --add   /etc/init.d/mysqld             添加/etc/init.d/myspld到 chkconfig里,用service命令来管理(service mysql)

chkconfig    mysqld   --level   235  on

初始化脚本mysql_install_db位于安装目录的scripts文件夹中

/usr/local/mysql/scripts/mysql_install_db \

--user=mysql \                                      指定用户为mysql

--ldata=http://www.mamicode.com/var/lib/mysql / 链接文件是/var/lib/mysql

--basedir=/usr/local/mysql \                    基本目录,/usr/local/mysq 

--datadir=/home/mysql                           数据目录为/home/mysql

ln  -s   /var/lib/mysql/mysql.sock    /home/mysql/mysql.sock      

vi    /etc/init.d/mysqld

修改以下两个参数:

basedir=/usr/local/mysql     

datadir=/home/mysql

保存

source   /root/.bash_profile         立刻加载配置文件

此时,所有配置文件已修改完毕,

执行service   mysqld   start   启动服务

netstat -tnl | grep 3306     可以检查3306端口mysqld服务的运行状态

2.调试mysqld

mysql  -u   root   //登录数据库


-------查看命令----------

mysql> show  databases; 


mysql> use  test;


mysql> show  tables;


mysql> describe  user; //查看表内容(查看user表里的内容)


----------新增命令-----------

mysql>CREATE   DATABASE   benet; //创建数据库名为benet

mysql>use   benet;   //进入benet这个数据库


mysql> CREATE   TABLE   users (user_name  CHAR(16) NOT  NULL,  

user_passwd CHAR(48) DEFAULT ‘‘, PRIMARY KEY (user_name));  // 

创建表名为users

----------------

注释:“user_name”表示字段1名称(也就是表格的第一行),“char 

(16)”表示类型,“not null”表示null值不能为空 NO;

      “user_passwd”表示字段2名称(也就是表格的第二 

行),“char(48)”表示类型,“default ‘‘”表示null可以为空 YES;

      “primary key(user_name)”表示primary key(主键名)

-----------

mysql> INSERT  INTO  users(user_name,user_passwd)  VALUES 

(‘zhangsan‘, PASSWORD(‘123456‘));  //在users表中插入内容

mysql> INSERT INTO users VALUES(‘lisi‘, PASSWORD(‘654321‘));   

//password是用户为密码加密的

mysql> insert into users values(‘sina‘,password(‘123abc‘));


------------删除命令--------------

mysql> DELETE FROM users WHERE user_name=‘lisi‘;


mysql> DROP TABLE users;


mysql> DROP DATABASE benet;


----------更改命令---------

mysql> UPDATE users SET user_passwd=PASSWORD(‘‘) WHERE  

user_name=‘lisi‘;

mysql> UPDATE mysql.user SET password=PASSWORD(‘123456‘) WHERE  

user=‘root‘;


------------查询命令-----------

mysql> SELECT user,host,password FROM mysql.user WHERE  

user=‘‘;

mysql> select * from users;   //查看user表里的所有信息

mysql> select user from users;  //查看users表里的user这个用户字 

段里有哪些用户

mysql>flush privileges;  //刷新授权信息,


mysqladmin -u root -p password ‘123456‘  //改的是新密码,要输入 

的是旧的密码,在#执行。

  

Enter password:  //输入旧密码


[root@localhost ~]# mysql -u root -p //登录

Enter password: //输入之前改的密码123456


---------------授权命令-------------------

mysql> GRANT select ON auth.* TO ‘tom‘@‘localhost‘ IDENTIFIED  

BY ‘123456‘;//新建tom用户密码设置为123456,对其授权只能查询以 

auth开头的所有表。


mysql> grant all on benet.* to ‘tom‘@‘192.168.80.4‘identified  

by ‘123‘;

mysql>flush privileges;

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户不存在时 

,GRANT语句将会创建新的用户,否则GRNAT

语句用户修改用户信息。语句格式如下:

GRANT 权限列表 ON 库名.表名 TO ‘用户名’@‘来源地 

址’【IDENTFIED BY ‘密码’】


mysql> SHOW GRANTS FOR ‘dbuser‘@‘192.168.4.19‘; (例如上面的例 

子:SHOW GRANTS FOR ‘tom‘@‘localhost‘;,那个“用户名@来源地址” 

要是一样的)

mysql> REVOKE all ON auth.* FROM ‘xiaoqi‘@‘localhost‘;


---------------备份与恢复命令------------------


# mysqldump -u root -p --opt --all-databases > all-data.sql // 

备份所有数据库

# mysqldump -u root -p --database benet > benet.sql //备份auth 

数据库

# mysqldump -u root -p benet users > b-user.sql //备份mysql的 

user表


mysql>create benet;

#mysql -u root -p  < benet.sql 

# mysql -u root -p mysql < mysql-user.sql //将备份还原到mysql 

数据库中。


例子:

mysqldump -u root -p --database user > user.sql //将数据库中名 

为user的数据库备份出来(备份user这个数据库)


mysql -u root -p  < benet.sql //将备份user数据库名数据库 

user.sql还原到数据库中




本文出自 “NE之路” 博客,请务必保留此出处http://332162926.blog.51cto.com/8831013/1534956