ubuntu用apt-get方法安装mysql5 + Apache2 + PHP5+Phpmyadmin

来源:互联网 发布:2016年网络大电影分账 编辑:程序博客网 时间:2024/06/02 19:42
ubuntu用apt-get方法安装mysql5 + Apache2 + PHP5+Phpmyadmin
编译安装
 ./configure --prefix= /app/mysql --with-charset=gbk
make
 
 
 
设置权限 
 
 chown -R root . 设定root能访问 /app/mysql 
 chown -R mysql var 设定mysql用户能访问 /app/mysql/var ,里面存的是mysql的数据库文件 
 chown -R mysql var/. 设定mysql用户能访问 /app/mysql/var下的所有文件 
 chown -R mysql var/mysql/. 设定mysql用户能访问 /app/mysql/var/mysql下的所有文件 
 chgrp -R mysql . 设定mysql组能够访问 /app/mysql 
 
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql: 
 
  /app/mysql/bin/mysqld_safe --user=mysql & 
 
如果没有问题的话,应该会出现类似这样的提示: 
 
[1] 42264 
 Starting mysqld daemon with databases from  /app/mysql/var 
 
这就证明你安装成功了
 
cd /app/mysql/bin
./mysqladmin –h localhost.localdomain –u root password ‘123456’
启动:
/app/mysql/bin/mysqld_safe --user=mysql &
如果mysql的进程已经启动他会提示A mysqld process already exists,表明mysql进程已经存在,否则会提示
[1] 42264 
 Starting mysqld daemon with databases from  /app/mysql/var 
启动成功。
停止:
 /app/mysql/bin/mysqladmin shutdown
执行命令后输入查看进程命令看mysql进程是否已经关闭:
ps –ax
查看后mysql的进程已经关闭。
启动mysql,再查看mysql进程,mysql已经启动
如果你为 MySQL Administrator root 帐号(非作业系统的 root)设了密码,要停止 MySQL 则必须像下列这样做,MySQL 会询问你 root 的密码后才会执行 shutdown 的工作:

/app/mysql/bin/mysqladmin -u root -p shutdown
 
自动启动mysql
vi /etc/rc.d/rc.local
在后面增加一行启动mysql的命令如下:
/app/mysql/bin/mysqld_safe –user=mysql
按Esc键,输入:wq保存退出。
重启系统:
reboot
等系统启动后再查看进程,mysql进程已经存在,表明mysql自动启动成功。
 
最后,建好资料库与资料表后,把 addbook 资料库中所有资料表的使用权限(selectinsertupdatedelete)授权给 dafen@localhost(再次提醒,此处的dafen  MySQL 的使用者帐号,而非作业系统的 dafen 帐号):
grant select,insert,update,delete on addbook.* to dafen@localhost identified by ‘123456‘;
 
grant all privileges on addbook.* to dafen@localhost identified by ‘123456‘;(授予所有权限)
quit
退出后用dafen用户登陆mysql
/app/mysql/bin/mysql -u dafen -p123456 addbook
 
mysql> status
--------------
/app/mysql/bin/mysql Ver 14.7 Distrib 4.1.9, for pc-linux-gnu (i686)
 
Connection id:          146
Current database:       addbook
Current user:           dafen@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ‘‘
Using delimiter:        ;
Server version:         4.1.9-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    gbk
Db     characterset:    gbk
Client characterset:    gbk
Conn. characterset:    gbk
UNIX socket:            /tmp/mysql.sock
Uptime:                 1 day 52 min 27 sec
 
Threads: 1 Questions: 53 Slow queries: 0 Opens: 14 Flush tables: 2 Open tables: 3 Queries per second avg: 0.001
然后输入几条sql语句查看一下dafen用户是否拥有相关权限。
 
 
收回资料库使用权限的方法如下(以 MySQL root 进入): 
mysql> revoke delete on addbook.* from dafen@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> revoke all privileges on addbook.* from  dafen@localhost;
Query OK, 0 rows affected (0.00 sec)
  
 
Mysql 全部用户删除后重建:
关闭Mysql服务,用--skip-grant-tables重新启动:
#/etc/init.d/mysql.server stop
#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
mysql>insert into mysql.user(host,user,password) values (‘localhost‘,‘root‘,password(‘mima‘));
mysql>flush privileges;
mysql>grant all on *.* to root@localhost;
然后退出重启服务.
 
 
 
 
phpMyAdmin提示:

错误#1045 - Access denied for user ‘pmausr‘@‘localhost‘ (using password: YES)
现在我更改好了,方法是这样的:

在config.inc.php 文件中
搜索「$cfg[‘Servers‘][$i][‘auth_type‘] = ‘cookie‘;」,改成「$cfg[‘Servers‘][$i][‘auth_type‘] = ‘http‘;」
搜索「$cfg[‘Servers‘][$i][‘controluser‘] = ‘pmausr‘;」,改成「$cfg[‘Servers‘][$i][‘controluser‘] = ‘root‘;」
搜索「$cfg[‘Servers‘][$i][‘controlpass‘] = ‘pmapass‘;」,改成「$cfg[‘Servers‘][$i][‘controlpass‘] = ‘MYSQL的密码;」
如果报错:
Wrong permissions on configuration file, should not be world writable!
#chmod 755 config.default.php
 
 
 
Windows: 1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin 4.跳过权限检查启动MySQL, c:\mysql\bin>mysqld-nt --skip-grant-tables 5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码 c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword" c:\mysql\bin>mysqladmin -u root -p shutdown 将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 6.停止MySQL Server,用正常模式启动Mysql 7.你可以用新的密码链接到Mysql了。 Unix&Linux: 1.用root或者运行mysqld的用户登录系统; 2.利用kill命令结束掉mysqld的进程; 3.使用--skip-grant-tables参数启动MySQL Server shell>mysqld_safe --skip-grant-tables & 4.为root@localhost设置新密码 shell>mysqladmin -u root flush-privileges password "newpassword"5.重启MySQL Server(完)