linux下安装mysql

●安装mysql

# tar zxvf mysql-4.0.14.tar.gz -C /setup

 # cd /setup/mysql-4.0.14

 # groupadd mysql

# useradd mysql -g mysql -M -s /bin/false

 # ./configure --prefix=/usr/local/mysql / 指定安装目录  

 --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all      /添加gb2312中文字符支持 (一定要指定编码否则可能做其他操作会出问提,把默认编码置为gbk,同时支持其他的编码)      

--without-debug /去除debug模式            

--enable-assembler /使用一些字符函数的汇编版本      

--without-isam /去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表      

 --without-innodb /去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用      

--with-pthread /强制使用pthread库(posix线程库)      

 --enable-thread-safe-client /以线程方式编译客户端   

    --with-client-ldflags=-all-static /     

  --with-mysqld-ldflags=-all-static /以纯静态方式编译服务端和客户端      

--with-raid /激活raid支持      

# make && make install        

# scripts/mysql_install_db /生成mysql用户数据库和表文件

 # cp support-files/my-medium.cnf /etc/my.cnf /copy配置文件,有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值

# cp support-files/mysql.server /etc/init.d/mysqld  /copy启动的mysqld文件

 # chmod 700 /etc/init.d/mysqld

 # cd /usr/local

# chmod 750 mysql -R

# chgrp mysql mysql -R

# chown mysql mysql/var -R

# cd /usr/local/mysql/libexec

# cp mysqld mysqld.old

# strip mysqld

# chkconfig --add mysqld

# chkconfig --level 345 mysqld on

 # service mysqld start

# netstat -atln 看看有没有3306的端口打开,如果mysqld不能启动,看看/usr/local/mysql/var下的出错日志,一般都是目录权限没有设置好的问题

# ln -s /usr/local/mysql/bin/mysql /sbin/mysql

# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

# mysqladmin -uroot password "hurraycces" #设置root帐户的密码 # mysql -uroot -p # 输入你设置的密码 mysql>;use mysql; mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号 mysql>;flush privileges; mysql>;quit

如要要卸载:

将按文件夹删除,然后去安装目录 make clean ,make install clean

安装完成后,如果要用那个客户端工具远程连接数据库,默认的的root用户只能是localhost才能连接

解决方法: 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>flush privileges;

mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章